假设我有一个文件列表,例如
files = ["C:\\MyDir\\some_file.txt",
"C:\\MyDir\\another_file.txt",
"C:\\MyDir\\some_file.old"]
我想提取以“some”开头的“.txt”文件。我使用标准的 fnmatch.filter 方法:
my_files = fnmatch.filter([os.path.basename(i) for i in files], "some*.txt")
返回 ["some_file.txt"]。现在假设这些文件实际上位于 SFTP 站点上,我想在过滤后从 SFTP 站点下载它们。如何获取要下载的文件的完整文件路径?
os.path.abspath("some_file.txt")
由于明显的原因将无法正常工作。我可以简单地在我的过滤器模式前加上另一个通配符(“*”),但这是一种解决方法。有没有一种干净的方法可以做到这一点?