2011-10-31 4 views
-2

日付を.txtファイルに書き込もうとしています。以下は私がこれを行うために作ったコードですが、それは常に私にエラーを与えます。日付を.txtに書き込むにはどうすればいいですか?

import datetime 

mylist = [] 
today = datetime.date.today() 
mylist.append(today) 
print mylist[0] 

file = open('Date.txt', 'a') 
file.write(mylist) 
file.close() 

このコードは私に次のエラーを与える:

Traceback (most recent call last): File "/Volumes/CHROME USB/STORAGE/Date.py", line 9, in file.write(mylist) TypeError: argument 1 must be string or read-only character buffer, not list

誰かが私に作業コードの例を与えてくださいますか?

+0

エラーメッセージの解釈について教えてください。 –

答えて

1

文字列を書くことができるのは、エラーに記載されています。 ですから、txtファイルに(文字列に変換)LISTEを書くためにこれを行うことができます:あなたは、リストの内容を書きたい場合は、行う

file.write(str(mylist)) 

簡単な例

>>> a= [1,2,3] 
>>> b = str(a) 
>>> b 
'[1, 2, 3]' 
>>> f = open("data","w") 
>>> f.write(b) 
>>> f.close() 
>>> 
$ cat data 
[1, 2, 3] 
+0

ありがとうIc2817! – gian848396

+0

@ gian848396なぜ、「答え」は他のものだとお考えですか? – lc2817

+0

Woops。それは間違いでした。 – gian848396

1

File#writeはリストではなく文字列が必要です。試してくださいfile.write(repr(mylist))

+0

Googleについて聞いたことがありますか? http://docs.python.org/library/repr.html – bos

+0

なぜreprでstrではないのですか? – lc2817

+0

はい。私はドキュメンテーションを見ても、私はまだ初心者であるので、それを非常に感知できませんでした。 – gian848396

1

それこのような:

for entry in mylist: 
    file.write(str(entry)) 

または

map(lambda x: file.write(str(x)), mylist) 
関連する問題