我是python新手。当我试图阅读的内容时,我不知道我做错了什么。广州塔文件到python中。我想阅读的tarfile托管在以下网址:
ftp://ftp.ncbi.nlm.nih.gov/pub/pmc/b0/ac/Breast_Cancer_Res_2001_Nov_9_3(1)_61-65.tar.gz
此网站上的文件的更多信息(只是为了您可以信任内容) http://www.pubmedcentral.nih.gov/utils/oa/oa.fcgi?id=PMC13901
tarfile包含期刊文章的.pdf和.nxml副本。还有一些图像文件。在
如果我在浏览器中通过复制和粘贴打开文件。我可以保存到我电脑上的一个位置,然后使用以下命令导入tarfile(注意:winzip从中更改文件)。焦油gz简单地说,当我保存到位置时.tar):
import tarfile
thetarfile = "C:/Users/dfcm/Documents/Breast_Cancer_Res_2001_Nov_9_3(1)_61-65.tar"
tfile = tarfile.open(thetarfile)
tfile
但是,如果我尝试使用类似的命令直接访问文件:
^{pr2}$这将导致以下错误:
Traceback (most recent call last):
File "<pyshell#137>", line 1, in <module>
bbb = tarfile.open(thetarfile)
File "C:\Python30\lib\tarfile.py", line 1625, in open
return func(name, "r", fileobj, **kwargs)
File "C:\Python30\lib\tarfile.py", line 1687, in gzopen
fileobj = bltn_open(name, mode + "b")
File "C:\Python30\lib\io.py", line 278, in __new__
return open(*args, **kwargs)
File "C:\Python30\lib\io.py", line 222, in open
closefd)
File "C:\Python30\lib\io.py", line 615, in __init__
_fileio._FileIO.__init__(self, name, mode, closefd)
IOError: [Errno 22] Invalid argument: 'ftp://ftp.ncbi.nlm.nih.gov/pub/pmc/b0/ac/Breast_Cancer_Res_2001_Nov_9_3(1)_61-65.tar'
有谁能解释一下我在读的时候做错了什么吗。焦油gz直接从网址上传文件?提前谢谢。克里斯
不幸的是你不能仅仅从网络上打开文件。这里的情况有点复杂。您必须指示解释器创建一个网络请求并创建一个表示请求状态的对象。这可以使用
urllib
模块来完成。在ftpstream
对象是一个文件,它表示与ftp服务器的连接。然后tarfile模块可以访问这个流。由于不传递文件名,因此必须在mode
参数中指定压缩。在相关问题 更多 >
编程相关推荐