subprocess.call with non-ASCII arguments?

Ulli Horlacher framstag at rus.uni-stuttgart.de
Wed Dec 16 07:44:16 EST 2015


Dennis Lee Bieber <wlfraed at ix.netcom.com> wrote:

> >I want to create a zip file within a Python 2.7 program on windows.
> >
> >My code:
> >
> >  cmd = ['7za.exe','a','-tzip',archive] + files
> >  status = subprocess.call(cmd)
> >
>         My first thought would be...
> 
>         WHY spawn an OS dependent subprocess...
> 
>         Python has a zipfile library that is portable between OS. Along with
> libraries for gzip, bzip2, and tarfiles...

Great hint!

With the python modules zipfile and tarfile I have no more problems with
non-ASCII filenames! It needed a little bit more programming with
os.walk(), because zipfile cannot add directories recursivly.

S:\>python fexit.py * framstag
Container name: test
creating C:\Users\admin\AppData\Local\Temp\fex\test.zip
zip dist\fexit.exe
zip mf.cmd
zip fex.ico
zip fexit.spec
zip build\fexit\fexit.exe.manifest
zip build\fexit\out00-Analysis.toc
zip build\fexit\out00-EXE.toc
zip build\fexit\out00-PKG.pkg
zip build\fexit\out00-PKG.toc
zip build\fexit\out00-PYZ.pyz
zip build\fexit\out00-PYZ.toc
zip build\fexit\out00-Tree.toc
zip build\fexit\out01-Tree.toc
zip build\fexit\warnfexit.txt
zip fexit.py
zip tar.py
zip zip.py

Recipient: framstag at rus.uni-stuttgart.de
test.zip: 13 MB of 13 MB (100%) 28540 kB/s

-- 
Ullrich Horlacher              Server und Virtualisierung
Rechenzentrum IZUS/TIK         E-Mail: horlacher at tik.uni-stuttgart.de
Universitaet Stuttgart         Tel:    ++49-711-68565868
Allmandring 30a                Fax:    ++49-711-682357
70550 Stuttgart (Germany)      WWW:    http://www.tik.uni-stuttgart.de/



More information about the Python-list mailing list