Найти - Пользователи
Полная версия: как преобразовать tuples в text
Начало » Python для новичков » как преобразовать tuples в text
1
qman
вопрос чайника
есть код

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'

спасибо
setoy
f=open(file_name )

for x in query:
print >>f,x
f.close()
poltergeist

f = open('thefile.txt', ‘w+’)
f.write('\n'.join(query)) or f.close()
slivlen
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)
qman
poltergeist
f.write('\n'.join(query)) or f.close()
поясните пожалуйста как тут работает оператор or. Я могу понять произвести
f.write('\n'.join(query))
а потом произвести
f.close()
slivlen
qman
f.write возвращает None, поэтому вычисляется правая часть or и следовательно выполняется f.close
Ahmasoft
tuple ведь неприкосновенный.
Shaman
from __future__ import with_statement
2016 год на дворе
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
>>> 
Shaman
Блин. Некропостеры.
JOHN_16
Ahmasoft
Ну и смысл был поднимать такой старый пост? Если есть вопрос - пишите в соответствующую ветку.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB