在循环中更新和打开文件名

时间:2017-04-30 17:33:00

标签: python for-loop

基本上,我遇到的问题是尝试在for循环中打开多个文件。文件名具有以下格式:

filename = 'mms1_fgm_srvy_l2_20160104_v4.18.0.cdf'

使用' 20160104'作为日期,我知道如何在循环中更新。问题在于' 18'对于每个文件,最后附加的不是常数,我不知道它是如何变化的,与日期不同。我想知道是否有办法更新号码,并检查我的目录中是否存在该文件。

与往常一样,任何帮助将不胜感激。感谢。

2 个答案:

答案 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")

检查文件是否存在,如果存在,您可以加载并保存它,如果您想要其他文件将打印该文件不存在