我想在不提取tar文件的情况下读取.tar文件中的内容。我尝试了我的本地机器,并成功地读取了文件的内容。只是,我传递了.tar文件的路径。为此,我使用了一个名为tarfile的库。在这个图书馆的帮助下,我做到了。现在,我正试图在AWS中使用lambda函数执行相同的操作,但我无法做到这一点。你能建议其他的方法吗
import tarfile
file_path = r'C:/Users/xyz/Downloads/abc.tar'
tar = tarfile.open(file_path, "r:gz")
for member in tar.getnames():
name = str(member)
if name.endswith(".txt"):
f = tar.extractfile(name)
if f:
for i in f:
print(str(i))
美国焊接学会代码
s3 = boto3.client('s3')
Bucket='abc-logs'
if event:
for i in event:
file_obj = event["Records"][0]
Key = str(file_obj['s3']['object']['key'])
if file_name_split == 'PERFORMANCE':
print("Key",Key)
tar_file_obj = s3.get_object(Bucket='abc-logs',Key=Key)
# print(tar_file_obj)
# tar = tarfile.open(tar_file_obj["Body"],"r:gz")
# print(tar)
file_content = tar_file_obj["Body"].iter_lines()
print(file_content)
您可以使用以下方法读取tar文件内容:
相关问题 更多 >
编程相关推荐