A.M wrote: > It works very fine with DIR command, but for commands like "MD :" it doesn't > return the error message into the string: > > print os.popen('MD :').read() > > # No error message
in python, "MD" is spelled os.mkdir. > Am I missing anything? the difference between STDOUT and STDERR, and the difference between buffered output and non-buffered output, and perhaps a few other things related to how STDIO behaves on modern computers... however, if you want to pretend that STDOUT and STDERR are the same thing, you can use os.popen4: >>> o, i = os.popen4("md :") >>> i.read() 'The filename, directory name, or volume label syntax is incorrect.\n' or the subprocess module. > Considering the fact that Ruby doesn't have any problem with redirecting > STDOUT into files or string variables, is Python the right tool for > this kinds of shell scripting? rewriting BAT files as a series of os.system or os.popen calls isn't exactly optimal (neither for the computer nor the programmer nor the future user); better take an hour to skim the "generic operating system services" section in the library reference, and use built-in functions wherever you can: http://docs.python.org/lib/allos.html the following modules are especially useful: http://docs.python.org/lib/module-os.html http://docs.python.org/lib/module-os.path.html http://docs.python.org/lib/module-glob.html http://docs.python.org/lib/module-shutil.html by using the built-in tools, you get better performance in many cases, better error handling, and code that's a lot easier to reuse (also on non-Windows platforms). </F> -- http://mail.python.org/mailman/listinfo/python-list