On 12/05/2011 16:21, Tim Golden wrote:
On 12/05/2011 15:11, Ayaskanta Swain wrote:
Please help me in solving the following issue I am facing while
executing my python script. Basically I am executing the OS specific
move command to move a file/dir from one location to another.

Why? Why not use os.rename or shutil.move which already do
whatever is needed under the covers for different Operating Systems?

os.popen returns a file-like object from which you can read any
error messages generated. You're not doing that, and os.popen
won't raise an error itself unless you, say, pass it a number
rather than a string.

<code>
import os

output = os.popen ("dir")
print output.read ()

#
# But note:
#
os.popen ("Nonsen*se")

# raises no exception

</code>

If you want exceptions, try the subprocess module:

>>> import subprocess
>>> subprocess.Popen("Nonsen*se")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 672, in __init__
    errread, errwrite)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1201, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
>>>

In fact, os.popen is deprecated in favour of subprocess.Popen().

HTH,

-- HansM

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to