读取文件夹下的tar文件,不解压的情况下遍历tar文件内的文件,进行计算,的python实现
时间: 2024-02-21 09:57:06 浏览: 15
要遍历tar文件内的文件,而不解压缩,可以使用`tarfile.TarFile.getmembers()`方法来获取tar文件中的所有文件信息,然后使用`tarfile.TarFile.extractfile()`方法来获取文件内容进行计算,具体实现可以参考下面的代码:
```python
import tarfile
# tar文件所在文件夹路径
folder_path = 'path/to/folder'
# 遍历文件夹下所有tar文件
for filename in os.listdir(folder_path):
if filename.endswith('.tar'):
# 打开tar文件
with tarfile.open(os.path.join(folder_path, filename), 'r') as tar:
# 遍历tar文件中的所有文件
for member in tar.getmembers():
# 如果是文件,则进行计算
if member.isfile():
# 获取文件内容
file_content = tar.extractfile(member).read()
# 进行计算,这里只是一个示例
file_size = len(file_content)
# 输出文件名和计算结果
print(f'{member.name}: {file_size}')
```
上面的代码中,我们遍历指定文件夹下的所有tar文件,并打开每个tar文件。然后使用`tar.getmembers()`方法获取tar文件中的所有文件信息,对于每个文件,我们使用`tar.extractfile()`方法获取文件内容,并进行计算。在这个例子中,我们只是简单地计算了文件的大小,并输出了文件名和计算结果。