Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更简单的添加“的方法”\";到Python中的所有输出行?_Python - Fatal编程技术网

更简单的添加“的方法”\";到Python中的所有输出行?

更简单的添加“的方法”\";到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(第[

下面的脚本适合我,但我想知道是否可以用一种更简单的方式来完成。 我正在使用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(第[:-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...