我通过Python创建的.tar.gz文件包含一个"_“根级文件夹,我需要删除它。 下面是我使用的.tar.gz函数: def make_tarfile(output_filename, source_dir):
with tarfile.open(output_filename, "w:gz") as tar:
tar.add(source_dir, arcname='') 我使用: make_tarfile('ARCHIVE.tar.gz','C:\FolderA')创建.tar.gz As
我在下面的代码中尝试使用python为位于给定目录的所有文件创建简单的tar文件。
在目录D:/tmp/中,只有一些常规文件,其中没有子目录。
import os
import tarfile
def createTar(path, tar_name):
with tarfile.open(tar_name, "w:gz") as tar_obj:
for root, dirs, files in os.walk(path):
for file in files:
tar_obj.add(os.p
我试图使用tarfile在内存中添加一个文件,然后将它写回磁盘,但我遇到的问题是,在我的最后输出中,当我提取新创建的tar.gz文件时,我得到了一个空文件。我的代码做错了什么?
import tarfile
import io
with open('logo.png', 'rb') as f:
data = f.read()
fh = io.BytesIO()
with tarfile.open(fileobj=fh, mode='w:gz') as tar:
info = tarfile.TarInfo('some.
我有数以百计的.tar.gz文件,在一个着陆区。下面的python代码段按计划运行,以提取这些文件并将内容写入另一个目录。
import tarfile
for f in files:
with tarfile.open(f) as uncompressed_file:
uncompressed_file.extractall(outfile_path)
对于某些文件,我收到以下错误,但它将停止处理其余的文件。
EOFError: Compressed file ended before the end-of-stream marker was reached
是否有一个t
创建的tar.gz在创建后在linux上传输时不具有执行权限。
目标:文件应该拥有完全的权利,一旦它是在linux系统上。
我使用python中的'tarfile‘库来实现这一点。
import os
import tarfile
with tarfile.open('test.tar.gz', "x:gz") as tar:
tar.add("path_to_src_folder", arcname=os.path.basename("path_to_dir", filter=tarinfo.mode(777))
我有一些.tar.gz文件,我可以通过以下方法提取它们:
if (fname.endswith("tar.gz")):
tar = tarfile.open(fname, "r:gz")
tar.extractall()
tar.close()
但是我想在.txt文件中添加提取的文件的所有信息,但是我不知道.tar.gz文件内部的文件夹名称。如果您不知道文件夹的名称并提取它们,是否可以知道/重命名这些文件夹?谢谢。
我使用tarfile模块来检查tar.gz文件中的包的权限。我的问题是两倍。
权限位值与从ls -l命令获得的值不同。从list命令中,值是755。但我在我的程序中得到了488。我使用以下命令函数-
def checkAndExtratZipFile (value,packageElementInfoList):
try:
tar = tarfile.open(value,"r:gz")
for tarinfo in tar:
global elementType
# Populate
我注意到tarfile没有w:xz选项或类似的东西,有任何方法来创建xz文件吗?
dir=tkFileDialog.askdirectory(initialdir="/home/david")
if x.get()=="gz":
tar = tarfile.open(dir+".tar.gz", "w:gz")
tar
for i in range(lbox.size()):
tar.add(e1.get()+&
假设我有这样的代码,它将文件移动到另一个目录中:
import os, shutil
try:
os.chdir(rec.gec_daily_dir)
direct = os.listdir(/src/dir/)
for f in direct:
if f[-3:] == 'xls':
shutil.move(f, /archive/dir/)
except TypeError:
print "Directory or file no
我有一个巨大的压缩文件,我感兴趣的是读取单个数据文件,以避免内存耗尽。
另外,由于时间和空间的关系,我无法解压缩.tar.gz。
这就是我目前掌握的代码:
import pandas as pd
# With this lib we can navigate on a compressed files
# without even extracting its content
import tarfile
import io
tar_file = tarfile.open(r'\\path\to\the\tar\file.tar.gz')
# With the follow
下面是我用来处理归档的代码的一小段:
事情发生变化的地方在这里:
tar = tarfile.open(tarName, 'r')
当我像上面那样输入一个常规的tar文件时,它可以工作,但是当我尝试用tar.gz输入时,对于某些reason...Is,x.read()行返回null,那么tar和tar.gz在文件提取方面有区别吗?
tar = tarfile.open(tarName, 'r:gz')
directory = directoryname+'/'
if not os.path.exists(directory) and not (
我正在尝试从tar.gz文件中仅读取一个文件。在tarfile对象上的所有操作都工作得很好,但是当我从具体的成员读取时,总是会引发StreamError,请检查以下代码:
import tarfile
fd = tarfile.open('file.tar.gz', 'r|gz')
for member in fd.getmembers():
if not member.isfile():
continue
cfile = fd.extractfile(member)
print cfile.read()
cfil
我想从tar.gz文件中读取文件夹的名称,并创建包含这些名称的列。
我使用的是以下代码:
file_path = r"C:\Users\filename.tar.gz"
start_with = './mainfolder/'
import tarfile
import re
with tarfile.open(file_path, "r:*") as tar:
csv_path = tar.getnames()
csv_path = list(n for n in tar.getnames() if (n.endswith(&
我有一个25 of的文本文件。所以我把它压缩成tar.gz,它变成了450 MB。现在,我想从python中读取该文件,并处理文本data.for,这是我所提到的。但在我的案例中代码不起作用。守则如下:
import tarfile
import numpy as np
tar = tarfile.open("filename.tar.gz", "r:gz")
for member in tar.getmembers():
f=tar.extractfile(member)
content = f.read()
Data = n