我有一个 python 代码,它打开一个文本文件读取并执行一些过程。输入文本文件必须每天更新一个新文件。目前我使用以下代码打开文件。
f = open('sample20130616.txt','r')
但是在这种方法中,必须有人进入代码内部并修改文件名(因为文件名不是唯一的)。
处理这个问题的正确方法是什么?
我有一个 python 代码,它打开一个文本文件读取并执行一些过程。输入文本文件必须每天更新一个新文件。目前我使用以下代码打开文件。
f = open('sample20130616.txt','r')
但是在这种方法中,必须有人进入代码内部并修改文件名(因为文件名不是唯一的)。
处理这个问题的正确方法是什么?
调用应用程序时将文件名作为参数传递:
python myapp.py file.txt
然后在您的代码中:
import sys
if __name__ == '__main__':
filename = sys.argv[1]
f = open(filename)
您可以轻松地生成当前日期,从而使用datetime
模块生成文件名:
import datetime
today = datetime.date.today()
filename = 'sample{0}{1:02d}{2:02d}.txt'.format(today.year, today.month, today.day)
f = open(filename,'r')
使用内置的时间功能!
from time import gmtime, strftime
fname='sample'+strftime("%Y%m%d", gmtime())+'.txt'
f = open(fname,'r')