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

2024-09-29 13:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

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

filename = 'mms1_fgm_srvy_l2_20160104_v4.18.0.cdf'

以20160104为日期,我知道如何在循环中更新。问题是,不是每个文件末尾附加的“18”都是常量,我不知道它是如何变化的,与日期不同。我想知道是否有一种方法来更新号码,并检查文件是否存在于我的目录中。你知道吗

一如既往,任何帮助都将不胜感激。谢谢。你知道吗


Tags: 文件方法目录for文件名格式filename号码
2条回答
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")

检查文件是否存在,如果存在,您可以加载它并保存它,否则它将打印文件不存在

可以将^{}函数与适当的文件名模式一起使用,以获取与该模式匹配的文件(存在的)列表。你知道吗

例如:

import glob

pattern = 'mms1_fgm_srvy_l2_*_v4.*.0.cdf'

for filename in glob.glob(pattern):
    with open(filename) as file:
        process(file)

相关问题 更多 >