Python中文
首页
教程
问答
标签
搜索
登录
注册
Python3:从tar.gz归档文件中提取文件
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我目前正在与<a href="http://lcl.uniroma1.it/sew/" rel="nofollow noreferrer">Semantically Enriched Wikipedia</a>合作</p> <p>该资源位于7.5 GB<em>tar.gz</em>归档文件中,其中的每个文件都是XML,其模式为:</p> <pre><code><text> Plain text </text> <annotation> Annotation for plain text </annotation> </code></pre> <p>当前的任务是提取每个文件,然后解析标记中的内容</p> <p>我做的第一件事是使用<em>tarfile</em>模块及其<em>extractall()</em>方法,但在提取过程中我遇到了以下错误:</p> <p><code>OSError: [Errno 22] Invalid argument: '.\\sew_conservative\\wiki384\\Live_%3F%21*%40_Like_a_Suicide.xml'</code></p> <p>虽然它的一部分被正确提取(我认为错误是由于xml文件名中的unicode字符造成的,但我现在看到每个文件都有它)</p> <p>因此,我计划使用API的一些方法和下面的代码处理归档文件中的每个文件</p> <p>不幸的是,封装每个文件的<em>TarInfo</em>对象不允许访问文件内容,并且逐个文件的提取需要花费太多时间</p> <pre><code>def parse_sew(): sew_path = Path("C:/Users/beppe/Desktop/Tesi/Semantically Enriched Wikipedia/sew_conservative.tar.gz") with tarfile.open(sew_path, mode='r') as t: for item in t: // extraction </code></pre> <p>解析和使用XML文件的内容时必须进行提取,还是可以读取归档内容(动态读取,不提取任何内容),然后解析内容</p> <p>更新:我正在通过<em>tar-xvzf filename.tar.gz</em>命令提取文件,一切都很顺利,但15分钟后我只能处理100GB中的500MB</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我建议您使用7zip进行提取。您可以从python中启动7zip提取,然后当它并排提取时,您可以读取提取的文件。这将节省相当多的时间。您可以使用线程来实现</p> <p>其次,在给出windows路径时不要使用前斜杠。您可以使用<code>\\</code>代替<code>/</code></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
拆分()错误:列表索引超出范围
8 回答
拆分(分解)数据帧字符串条目以分隔行
5 回答
拆分(分解)数据帧字符串条目以分隔行。多列
4 回答
拆分/提取系列索引中的字符串并作为DataFram展开
4 回答
拆分/标识字符串末尾的数字,该数字没有固定的字符数
8 回答
拆分2列CSV并保存到不同的文件
6 回答
拆分aconftest.py分成几个较小的conftestlike部分
3 回答
拆分apyspark.sql基于一列将数据帧放入多个表中
4 回答
拆分ascii/unicode字符串
8 回答
拆分a稀疏稀疏矩阵进入列车和tes
10 回答
拆分B的可能性
5 回答
拆分char上的查询字符串以获取不同的参数;Python:
5 回答
拆分csv fi中显示的图表
5 回答
拆分csv fi的列
6 回答
拆分CSV-fi需要Regex帮助
7 回答
拆分csv(和多选字段)以获取要导出到xlsx工作表的字段计数,我会不断获取“[blank]值和nan
4 回答
拆分CSV文件时出现标题问题[Python 3]
1 回答
拆分Cython代码后无法转换为Python对象
7 回答
拆分Dataframe,让线程处理每个部分,然后合并Datafram
10 回答
拆分dataframe列并删除额外变量
9 回答