Problem with os.system()

venutaurus539 at gmail.com venutaurus539 at gmail.com
Tue Feb 24 23:22:47 EST 2009


Hello,
         I am facing problems while using os.system() of python for
copying a file from source to destination where the file name is in
unicode (multi lingual characters).My python interpreter is trying to
convert them to ascii and is failing. I tried giving unicode string as
input for the function something like:

c = u"copy "+"\""+full_path+"\" "+dest
os.system (c)

where the full_path contains filenames with unicode characters(unicode
data type). I tried searching in google and came to know that UNICODE
support wasn't there for os.system function till python2.3[1].
Currently I am using python2.6 but couldn't find anywhere whether a
support has been provided or not. Can some one suggest me any work
around for this. If I do a manual encoding of the file name to ascii,
it results in loss of data and hence the copy command wouldn't find
the file name.


---------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\unitest.py", line 32, in <module>
    findFile(u"E:\\New Folder")
  File "C:\unitest.py", line 17, in findFile
    findFile(full_path)
  File "C:\unitest.py", line 17, in findFile
    findFile(full_path)
  File "C:\unitest.py", line 27, in findFile
    os.system (c)
UnicodeEncodeError: 'ascii' codec can't encode characters in position
47-72: ordinal not in range(128)
------------------------------------------------------------------------------------------------------




[1] http://mail.python.org/pipermail/python-list/2003-January/182182.html





Thanks in advance,
Venu M



More information about the Python-list mailing list