基本上,我遇到的问题是尝试在for循环中打开多个文件。文件名具有以下格式:
filename = 'mms1_fgm_srvy_l2_20160104_v4.18.0.cdf'
使用' 20160104'作为日期,我知道如何在循环中更新。问题在于' 18'对于每个文件,最后附加的不是常数,我不知道它是如何变化的,与日期不同。我想知道是否有办法更新号码,并检查我的目录中是否存在该文件。
与往常一样,任何帮助将不胜感激。感谢。
答案 0 :(得分:2)
您可以使用具有合适文件名模式的glob.glob()
函数来获取与模式匹配的文件列表。
例如:
import glob
pattern = 'mms1_fgm_srvy_l2_*_v4.*.0.cdf'
for filename in glob.glob(pattern):
with open(filename) as file:
process(file)
答案 1 :(得分:0)
import os
BASE_NAME = 'mms1_fgm_srvy_l2_20160104_v4.{}.0'
EXT = '.cdf'
attempts = int(input('Check file up to: '))
for num in range(attempts):
file_name = BASE_NAME.format(num) + EXT
if os.path.isfile(file_name):
# open file here
print("Opened File")
else:
print("File does not exist")
检查文件是否存在,如果存在,您可以加载并保存它,如果您想要其他文件将打印该文件不存在