テキストファイルを開いていくつかのプロセスを実行するPythonコードがあります。入力テキスト ファイルは、毎日新しいファイルで更新する必要があります。現在、次のコードを使用してファイルを開きます。
f = open('sample20130616.txt','r')
ただし、この方法では、コード内に移動してファイル名を変更する必要があります (ファイル名は一意ではないため)。
これを処理する適切な方法は何ですか?
テキストファイルを開いていくつかのプロセスを実行するPythonコードがあります。入力テキスト ファイルは、毎日新しいファイルで更新する必要があります。現在、次のコードを使用してファイルを開きます。
f = open('sample20130616.txt','r')
ただし、この方法では、コード内に移動してファイル名を変更する必要があります (ファイル名は一意ではないため)。
これを処理する適切な方法は何ですか?
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')
アプリケーションを呼び出すときに、ファイル名をパラメーターとして渡します。
python myapp.py file.txt
次に、コードで:
import sys
if __name__ == '__main__':
filename = sys.argv[1]
f = open(filename)
内蔵の時間機能を使おう!
from time import gmtime, strftime
fname='sample'+strftime("%Y%m%d", gmtime())+'.txt'
f = open(fname,'r')