使用 Python tarfile 模块解压缩 tar.bz2 文件
Uncompress an tar.bz2 file with Python tarfile module
我有很多扩展名为 "tar.bz2" 的文件,我想解压缩它们。
所以我使用 "tarfile" 模块,如下所述:https://docs.python.org/3/library/tarfile.html.
我试试下面的代码:
import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")
for i in tar:
tar.extractall(i)
tar.close()
但没有任何反应:tar.bz2 文件尚未解压到文件夹 "path_to/test/".
你有什么想法吗?
谢谢!
您使用 tar.extractall 时参数有误。我想,你需要这样的东西
import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")
tar.extractall()
tar.close()
或
import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")
for i in tar:
tar.extractfile(i)
tar.close()
如果您需要将文件解压到某个特定文件夹
import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")
tar.extractall(some_path)
tar.close()
我喜欢上下文管理器:
import tarfile
def extract_bz2(filename, path="."):
with tarfile.open(filename, "r:bz2") as tar:
tar.extractall(path)
我有很多扩展名为 "tar.bz2" 的文件,我想解压缩它们。 所以我使用 "tarfile" 模块,如下所述:https://docs.python.org/3/library/tarfile.html.
我试试下面的代码:
import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")
for i in tar:
tar.extractall(i)
tar.close()
但没有任何反应:tar.bz2 文件尚未解压到文件夹 "path_to/test/".
你有什么想法吗?
谢谢!
您使用 tar.extractall 时参数有误。我想,你需要这样的东西
import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")
tar.extractall()
tar.close()
或
import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")
for i in tar:
tar.extractfile(i)
tar.close()
如果您需要将文件解压到某个特定文件夹
import tarfile
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2")
tar.extractall(some_path)
tar.close()
我喜欢上下文管理器:
import tarfile
def extract_bz2(filename, path="."):
with tarfile.open(filename, "r:bz2") as tar:
tar.extractall(path)