我跟随Zed A. Shaw的lpthw示例17如果你想看看它https://learnpythonthehardway.org/book/ex17.html它只能用一行而不是多行(使用终端,windows powershell)
原文件说
"这是一个测试你正在测试为什么它不能在多行上工作,第二行说看但是大写
SEE"
复制文本并使用write命令粘贴它的第二个文件说明了这一点
"这是一个测试你正在测试为什么它不能在多行上工作,第二行说看但是大写
ऀ匀䔀䔀"我不明白,我甚至复制了他的代码,他或我的代码没有任何改变
from sys import argv
from os.path import exists
script, from_file, to_file = argv
print "Copying from %s to %s" % (from_file, to_file)
# we could do these two on one line, how?
in_file = open(from_file)
indata = in_file.read()
print "The input file is %d bytes long" % len(indata)
print "Does the output file exist? %r" % exists(to_file)
print "Ready, hit RETURN to continue, CTRL-C to abort."
raw_input()
out_file = open(to_file, 'w')
out_file.write(indata)
print "Alright, all done."
out_file.close()
in_file.close()`
我不想更改代码,只是因为我知道这可以用于单行并且没有太大的改变,它可以用于整篇文章,例如
答案 0 :(得分:2)
尝试为打开时正在阅读的文件设置正确的编码
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
答案 1 :(得分:0)
由于在Windows与Linux中处理新行的不同,您可能遇到此问题。 看看:Handling \r\n vs \n newlines in python on Mac vs Windows