Pythonの場合:ループがあり、その各サイクル中に次の形式のリストを作成するとします。['n1'、'n2'、'n3']各サイクルの後に、作成されたエントリを追加するために書き込みます。ファイル(前のサイクルからのすべての出力を含む)に。どうやってやるの?
また、このサイクルの出力をエントリとするリストを作成する方法はありますか?つまり、[[]、[]、[]]ここで、各内部[] = ['n1'、'n2'、'n3]など
Pythonの場合:ループがあり、その各サイクル中に次の形式のリストを作成するとします。['n1'、'n2'、'n3']各サイクルの後に、作成されたエントリを追加するために書き込みます。ファイル(前のサイクルからのすべての出力を含む)に。どうやってやるの?
また、このサイクルの出力をエントリとするリストを作成する方法はありますか?つまり、[[]、[]、[]]ここで、各内部[] = ['n1'、'n2'、'n3]など
確かに、文字列に変換した後、次のようなファイルに書き込むことができます。
with open('some_file.dat', 'w') as f:
for x in xrange(10): # assume 10 cycles
line = []
# ... (here is your code, appending data to line) ...
f.write('%r\n' % line) # here you write representation to separate line
あなたの質問の2番目の部分になると:
また、このサイクルの出力をエントリとするリストを作成する方法はありますか?つまり
[[],[],[]]
、各内部[]
=['n1','n2','n3']
など
それもかなり基本的です。一度にすべてを保存したい場合は、次のように記述します。
lines = [] # container for a list of lines
for x in xrange(10): # assume 10 cycles
line = []
# ... (here is your code, appending data to line) ...
lines.append('%r\n' % line) # here you add line to the list of lines
# here "lines" is your list of cycle results
with open('some_file.dat', 'w') as f:
f.writelines(lines)
必要なものに応じて、テキストファイルだけでなく、より特殊な形式の1つを使用する必要があります。リスト表現(大丈夫ですが理想的ではありません)を書く代わりに、例えばを使うことができます。csv
モジュール(Excelのスプレッドシートに類似):http ://docs.python.org/3.3/library/csv.html
f = open(file、'a') 最初のparaはファイルのパス、2番目はパターン、'a'は追加、'w'は書き込み、'r'は読み取りなど、私の意見では、次のことができます。 f.write (list +'\ n')を使用してループ内に行を書き込みます。それ以外の場合は、f.writelines(list)を使用できます。これも機能します。
これがお役に立てば幸いです。
lVals = []
with open(filename, 'a') as f:
for x,y,z in zip(range(10), range(5, 15), range(10, 20)):
lVals.append([x,y,z])
f.write(str(lVals[-1]))