使用通配符打开单个文件
open a single file with a wildcard
我知道将被放入 windows
文件夹中的文件格式。
包含文件名,然后是日期和时间戳,文件如下所示:
temp_path = 'H:\Temp\file_name_' + yyyymmddhhmmss + '.txt'
鉴于我知道日期 yyyymmdd
但我 不知道 时间 hhmmss
,我使用通配符替换了时间部分下面的代码。
import datetime as dt
# todays date in yyyymmdd format
today = dt.datetime.today()
today_yyyymmdd = today.strftime('%Y%m%d')
# now the file
temp_path = 'H:\Temp\test_file_' + today_yyyymmdd + '*.txt'
print(temp_path)
with open(temp_path, 'r') as f:
data = f.read()
print(data)
如果我从 .txt
前面删除通配符 *
,代码就可以工作,但它会失败。
但是,如何打开带有通配符的文件?
您需要使用 glob 模块
import glob
temp_path = glob.glob('file_' + today_yyyymmdd + '*.txt')[0]
我知道将被放入 windows
文件夹中的文件格式。
包含文件名,然后是日期和时间戳,文件如下所示:
temp_path = 'H:\Temp\file_name_' + yyyymmddhhmmss + '.txt'
鉴于我知道日期 yyyymmdd
但我 不知道 时间 hhmmss
,我使用通配符替换了时间部分下面的代码。
import datetime as dt
# todays date in yyyymmdd format
today = dt.datetime.today()
today_yyyymmdd = today.strftime('%Y%m%d')
# now the file
temp_path = 'H:\Temp\test_file_' + today_yyyymmdd + '*.txt'
print(temp_path)
with open(temp_path, 'r') as f:
data = f.read()
print(data)
如果我从 .txt
前面删除通配符 *
,代码就可以工作,但它会失败。
但是,如何打开带有通配符的文件?
您需要使用 glob 模块
import glob
temp_path = glob.glob('file_' + today_yyyymmdd + '*.txt')[0]