Форум сайта python.su
Сообщение об ошибке следующее:
Traceback (most recent call last):
File "D:\mydoc\NetBeansProjects\NewPythonProject\write2.py", line 7, in <module>
U.write = (F+'\n') #Записываем первую строчку
AttributeError: 'file' object attribute 'write' is read-only
>>>
X, Y, Z = 1, 2, 3 #числа
F = "Привет" #строка
D = {'a':1, 'b':'привет'} #словарь
L = [1,2,3] #список
U = open('datafile.txt', 'w') #создает файл для записи
U.write = (F+'\n') #Записываем первую строчку
U.write =('%s,%s,%s\n' %(X,Y,Z)) #Переобразуем числа в строки
U.write =(str(D)+'$'+str(L)+'\n') #Переобразует и добавляет между словарем и списком знак $
U.close()
Отредактировано (Янв. 29, 2010 13:29:38)
Офлайн
>AttributeError: ‘file’ object attribute ‘write’ is read-only
в созданный файл нельзя писать. Добавьте ему в свойствах разрешение на запись.
Офлайн
Может лучше знак равенства убрать?
Конструкция U.write = (F+'\n') это не запись в файл, а присваивание U.write значения (F+'\n')
А U.write является ридонли атрибутом, о чем и сказано: ‘file’ object attribute ‘write’ is read-only
Офлайн
т.е. ручками только? правой кнопкой по файлу - свойства - только чтение(убрать галочку)
в книге написано, что если ставить атрибут ‘w’ то создается файл и в него можно вести запись, если ставить атрибут ‘r’, то только чтение. Почему у меня создается файл только для чтения?
И вот только что посмотрел, у меня не стоит галочка в свойствах атрибуты только чтение. То есть в свойствах все Ок. Может в версии питона дело, хотя не должно книга по 2.6 и пайтон 2.6
Офлайн
Знак присваивания здесь не нужен.
U.write(F+'\n') #Записываем первую строчку
U.write('%s,%s,%s\n' %(X,Y,Z)) #Переобразуем числа в строки
U.write(str(D)+'$'+str(L)+'\n') #Переобразует и добавляет между словарем и списком знак $
U.close()
Офлайн
Edсейчас попробовал вместо ‘=’ поставить ‘==’, в файл ничего не записало, но и ошибок вроде не выдало, рестартнулось ток
Может лучше знак равенства убрать?
Конструкция U.write = (F+'\n') это не запись в файл, а присваивание U.write значения (F+'\n')
А U.write является ридонли атрибутом, о чем и сказано: ‘file’ object attribute ‘write’ is read-only
>>> ================================ RESTART ================================
Офлайн
expeeура, оно, спасибки
Знак присваивания здесь не нужен.
Офлайн
А, черт, я тока на ошибку посмотрел :D
Офлайн
ToburРазницу между убрать и поставить еще один осознаете?Edсейчас попробовал вместо ‘=’ поставить ‘==’
Может лучше знак равенства убрать?
Офлайн
Edизвините ^_^ не доглядел, верней прочитал, думал свое и как итог 8-(
Разницу между убрать и поставить еще один осознаете?
Офлайн