python将文本从一个文件复制到另一个文件

时间:2017-01-12 07:19:57

标签: python powershell copying

我跟随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()`

我不想更改代码,只是因为我知道这可以用于单行并且没有太大的改变,它可以用于整篇文章,例如

2 个答案:

答案 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