Форум сайта python.su
0
вопрос чайника
есть код
query= “use master”,\
“go”,\
“backup database %s to disk = \'%s”%(db_name,directory),\
“go”
file_object = os.open('thefile.txt', os.O_WRONLY| os.O_TEXT| os.O_CREAT)
os.write(file_object, str(query))
os.close(file_object)
в файле thefile.txt'
получаем
('use master', ‘go’, “backup database cakephp to disk = ‘c:\\temp\\backup\\”, ’go')
а как получить
'use master'
'go'
“backup database cakephp to disk = ‘c:\\temp\\backup\\”
’go'
спасибо
Офлайн
0
f=open(file_name )
for x in query:
print >>f,x
f.close()
Отредактировано (Дек. 19, 2007 14:17:35)
Офлайн
0
f = open('thefile.txt', ‘w+’)
f.write('\n'.join(query)) or f.close()
Отредактировано (Дек. 19, 2007 15:21:26)
Офлайн
0
open('thefile.txt', 'w').write('\n'.join(query))
from __future__ import with_statement with open('thefile.txt', 'w') as f: f.write('\n'.join(query)
Офлайн
0
poltergeistпоясните пожалуйста как тут работает оператор or. Я могу понять произвести
f.write('\n'.join(query)) or f.close()
Офлайн
0
qman
f.write возвращает None, поэтому вычисляется правая часть or и следовательно выполняется f.close
Офлайн
0
tuple ведь неприкосновенный.
Офлайн
88
from __future__ import with_statement
poltergeist
f.write('\n'.join(query)) or f.close()
>>> print('first op'); print('second op') first op second op >>> print('first op'); 1 / 0; print('second op') first op Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> print('first op'); 1 / 0; print('second op') ZeroDivisionError: division by zero >>>
Офлайн
88
Блин. Некропостеры.
Офлайн
221
Ahmasoft
Ну и смысл был поднимать такой старый пост? Если есть вопрос - пишите в соответствующую ветку.
Офлайн