如何在文件夹

时间:2017-08-02 17:36:51

标签: python string loops

我有一个包含许多名称相似的文件的文件夹。到目前为止,这是我的代码。

directory = r"C:\Users\matth\Downloads\AMSRE"
for root, dirs, filenames in os.walk(directory):
    for f in filenames:           
        if f == "AMSR_E_L3_DailyLand_V06_201001?":
            log = open(os.path.join(root, f), 'r')
            file_name = (("C:\\Users\\matth\\Downloads\\AMSRE\\") + f)
            print(file_name)

然而,什么都没有打印。我使用了这一行if f == "AMSR_E_L3_DailyLand_V06_201001?":,因为我有许多名称相似的文件:

  • AMSR_E_L3_DailyLand_V06_20100101.hdf
  • AMSR_E_L3_DailyLand_V06_20100102.hdf
  • AMSR_E_L3_DailyLand_V06_20100103.hdf
  • 等等。

我不完全确定我是否正确使用问号。有谁知道什么是错的?

1 个答案:

答案 0 :(得分:1)

Python在正常比较中不支持通配符或*?等占位符。正如@ inspectorG4dget在评论中指出的那样,您可以检查它是否以特定字符串(str.startswith)开头:

if f.startswith("AMSR_E_L3_DailyLand_V06_201001"):

而不是:

if f == "AMSR_E_L3_DailyLand_V06_201001?":