Python 将csv写入tarfile,但内部没有扩展名

Python 将csv写入tarfile,但内部没有扩展名,python,tarfile,Python,Tarfile,我正在尝试创建一个.csv文件,然后创建一个包含上一个csv的.gz文件。问题是.gz文件是用正确的文件名创建的,但没有.csv扩展名,我不知道如何解决这个问题 以下是相关代码: new_file_name = 'test' data = [['some','test'],['data','strings']] csv_fname = '%s.csv' % new_file_name tar_fname = '%s.gz' % new_file_name with open(csv_fname

我正在尝试创建一个.csv文件,然后创建一个包含上一个csv的.gz文件。问题是.gz文件是用正确的文件名创建的,但没有.csv扩展名,我不知道如何解决这个问题

以下是相关代码:

new_file_name = 'test'
data = [['some','test'],['data','strings']]
csv_fname = '%s.csv' % new_file_name
tar_fname = '%s.gz' % new_file_name

with open(csv_fname, 'wb') as csvfile:
    swriter = csv.writer(csvfile)
    for row in data:
        swriter.writerow(row)      

print 'creating archive'
out = tarfile.open(tar_fname, 'w:gz')
try:
    print 'adding %s' % csv_fname
    out.add(csv_fname)
finally:
    print 'closing'
    out.close()

我认为您的tarfile open应该类似于
tarfile.open(name=tar\u fname,mode='w:gz')
。我试过了,但没有改变任何东西。同样的结果。所以我运行了你的代码,它似乎对我有用。运行代码后,命令
tar tvf test.gz
生成
-rw-rw-r--jra/jra 25 2018-07-19 20:42 test.csv