使用urllib读取文件并写入添加额外字符

时间:2014-09-23 22:04:01

标签: python python-2.7 urllib carriage-return

我有一个脚本定期读取服务器上的文本文件,然后将文本的副本写入文本文件的本地副本。我有一个问题,在最后一个字符后添加额外的回车和一个额外的隐形字符。如何制作服务器文件的相同副本?

我使用以下内容来阅读文件

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以二进制读取

有任何解决方案吗?

2 个答案:

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