我有一个脚本定期读取服务器上的文本文件,然后将文本的副本写入文本文件的本地副本。我有一个问题,在最后一个字符后添加额外的回车和一个额外的隐形字符。如何制作服务器文件的相同副本?
我使用以下内容来阅读文件
for link in links:
try:
f = urllib.urlopen(link)
myfile = f.read()
except IOError:
pass
并将其写入本地文件
f = open("C:\\localfile.txt", "w")
try:
f.write(myfile)
except NameError:
pass
finally:
f.close()
这是文件在服务器上的显示方式 !http://i.imgur.com/rAnUqmJ.jpg
这就是文件在本地看起来的样子。此外,在过去的75之后还有一个额外的隐形字符 !http://i.imgur.com/xfs3E8D.jpg
我看过很多类似的问题,但不知道如何处理urllib以二进制读取
有任何解决方案吗?
答案 0 :(得分:0)
如果要将URL表示的远程文件复制到本地文件,我将使用urllib.urlretrieve:
import urllib
urllib.urlretrieve("http://anysite.co/foo.gz", "foo.gz")
答案 1 :(得分:0)
我认为urllib正在阅读二进制文件。 尝试更改
f = open("C:\\localfile.txt", "w")
到
f = open("C:\\localfile.txt", "wb")