以下脚本对我有用,但我想知道是否可以以更简单的方式完成。我正在使用 Python 2.7.3。
f = open('file.txt')
out = open('script.sql', "w")
for line in f:
out.write('%s%s' % (line[:-1], '\n'))
f.close()
out.close()
谢谢,
以下脚本对我有用,但我想知道是否可以以更简单的方式完成。我正在使用 Python 2.7.3。
f = open('file.txt')
out = open('script.sql', "w")
for line in f:
out.write('%s%s' % (line[:-1], '\n'))
f.close()
out.close()
谢谢,
嗯,有line[:-1] + '\n'
。
不要使用旧的%s
字符串格式使用format()
out.write('{0}{1}'.format(line[:-1], '\n'))
或者 out.write('{0}\n'.format(line[:-1]))
\n
您可以使用添加一个line[:-1] + '\n'
,也可以使用更简单的格式,例如'%s\n' % (line[:-1],)
.
在这种情况下,去掉换行符并再次添加它似乎有点多余:
f = open('file.txt')
out = open('script.sql', "w")
for line in f:
out.write(line)
f.close()
out.close()
或者更好shutil
的是,用于直接复制文件。
如果您使用打印,\n
则会自动添加:
print >>out, line[:-1]
这些天建议这样使用with
:
with open('file.txt') as f, open('script.sql', "w") as out:
for line in f:
print >>out, line[:-1]
# autoclosed f and out...
我会使用out.write(line.rstrip('\r\n') + '\n')
, 为每一行添加一个换行符而不重复。
在将 line 的内容写入文件之前,使用 line.rstrip 如下:
out.write(line.rstrip('\r\n') + '\n')
将删除任何现有的回车符或换行符 '\r' 或 '\n`,并将在每一行添加一个换行符。