Как мне написать дату в .txt? - PullRequest
0 голосов
/ 31 октября 2011

Я пытаюсь записать дату в текстовый файл. Ниже приведен код, который я сделал для этого, но он всегда выдает мне ошибку.

import datetime

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

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

Этот код выдает мне следующую ошибку:

Traceback (последний вызов был последним): File "/ Volumes / CHROME USB / STORAGE / Date.py ", строка 9, в file.write (mylist) TypeError: аргумент 1 должен быть строковым или только для чтения символьным буфером, а не списком

Кто-нибудь может привести пример рабочего кода?

Ответы [ 3 ]

1 голос
/ 31 октября 2011

Вы можете писать только строки, это указано в ошибке.Таким образом, вы можете сделать это, чтобы записать список (преобразованный в строку) в текстовый файл:

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] 
1 голос
/ 31 октября 2011

Если вы хотите написать содержимое списка, сделайте это следующим образом:

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

или

map(lambda x: file.write(str(x)), mylist)
1 голос
/ 31 октября 2011

File#write ожидает строку, а не список. Попробуйте file.write(repr(mylist)).

...