更简单的添加“的方法”\";到Python中的所有输出行?
下面的脚本适合我,但我想知道是否可以用一种更简单的方式来完成。 我正在使用Python 2.7.3更简单的添加“的方法”\";到Python中的所有输出行?,python,Python,下面的脚本适合我,但我想知道是否可以用一种更简单的方式来完成。 我正在使用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() 谢谢,嗯,有行[:-1]+'\n'不要使用旧的%s字符串格式使用格式() 或者out.write({0}\n).format(第[
f = open('file.txt')
out = open('script.sql', "w")
for line in f:
out.write('%s%s' % (line[:-1], '\n'))
f.close()
out.close()
谢谢,嗯,有
行[:-1]+'\n'
不要使用旧的%s
字符串格式使用格式()
或者out.write({0}\n).format(第[:-1]行])
您可以使用第[:-1]+'\n'
行添加\n
,也可以使用更简单的格式,如'%s\n'(第[:-1]行),
在这种情况下,删除新行并再次添加它似乎有点多余:
f = open('file.txt')
out = open('script.sql', "w")
for line in f:
out.write(line)
f.close()
out.close()
或者更好的方法是使用shutil
直接复制文件。我会使用out.write(line.rstrip('\r\n')+'\n')
,在每一行中添加一个新行而不重复。如果使用打印,则会自动添加\n
:
print >>out, line[:-1]
现在建议将与
一起使用,如下所示:
with open('file.txt') as f, open('script.sql', "w") as out:
for line in f:
print >>out, line[:-1]
# autoclosed f and out...
在将第行的内容写入文件之前,请按如下方式使用line.rstrip:
out.write(line.rstrip('\r\n')+'\n')
将删除任何现有的回车符或换行符“\r”或“\n”,并在每一行中添加一个换行符。wow谢谢。你们两个只是渴望按下下一票,而不是提供一个有用的答案。将open('file.txt')作为f,open('script.sql','w')作为out:
换行缩进作为f:out.write(…)
更干净、更紧凑
with open('file.txt') as f, open('script.sql', "w") as out:
for line in f:
print >>out, line[:-1]
# autoclosed f and out...