我正在尝试使用python的zipfile模块 我目前使用的代码是:
z = zipfile.ZipFile("jar/algorithms.jar", "w")
z.write('directory/QuickSort.class')
问题是我的文件被添加到jar中,如下所示:
algorithms.jar>目录> QuickSort.class
我想要的是: algorithms.jar> QuickSort.class
我怎样才能做到这一点?
答案 0 :(得分:5)
您可以使用arcname参数 - 请参阅http://docs.python.org/library/zipfile.html#zipfile.ZipFile.write
z.write("directory/QuickSort.class","QuickSort.class")
答案 1 :(得分:0)
您可以在归档中提供您希望文件具有的名称,作为write
的第二个参数,如下所示:
In [39]: z = zipfile.ZipFile("jar/algorithms.jar", "w")
In [40]: z.printdir()
File Name Modified Size
In [41]: z.write("directory/QuickSort.class", "QuickSort.class")
In [42]: z.printdir()
File Name Modified Size
QuickSort.class 2011-08-10 15:26:47 0
In [43]: z.close()
答案 2 :(得分:0)
考虑以下示例。这将在同一文件夹中创建一个文件夹的压缩存档,并从压缩输出文件中删除目录结构。
def helper(a):
'helper function calculate beginning date of week'
d = -1-a.weekday()
d = 0 if d==-7 else d
return (a + timedelta(days=d)).strftime('%Y %m %d %A')
# then you can do:
df.groupby(pd.to_datetime(df.index).to_series().apply(helper).to_list()).sum()