0

我有一个 python 代码,它打开一个文本文件读取并执行一些过程。输入文本文件必须每天更新一个新文件。目前我使用以下代码打开文件。

f = open('sample20130616.txt','r')

但是在这种方法中,必须有人进入代码内部并修改文件名(因为文件名不是唯一的)。

处理这个问题的正确方法是什么?

4

3 回答 3

1

调用应用程序时将文件名作为参数传递:

python myapp.py file.txt

然后在您的代码中:

import sys

if __name__ == '__main__':
    filename = sys.argv[1]
    f = open(filename)
于 2013-06-16T13:44:37.730 回答
1

您可以轻松地生成当前日期,从而使用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')
于 2013-06-16T13:50:11.930 回答
0

使用内置的时间功能!

    from time import gmtime, strftime
    fname='sample'+strftime("%Y%m%d", gmtime())+'.txt'
    f = open(fname,'r')
于 2013-06-16T13:54:27.173 回答