我有一个python脚本可以为我安装/卸载一些常用的程序,并且在卸载后还可以进行一些快捷方式/文件夹清理.我曾经使用此代码删除文件夹
os.system('rd /S /Q "{0}\\{1}"'.format(dirname, name))
效果很好.我试图将os.system的用法转换为subprocess.call,所以我将上面的行更改为此
subprocess.call(['rd', '/S', '/Q', '{0}\\{1}'.format(dirname, name)])
但这给出了错误
The system cannot find the file specified (2)
我必须使用了不正确的subprocess.call,但无法解决.任何帮助,将不胜感激,谢谢.
解决方法:
不同之处在于,默认情况下,子外壳中执行os.system
,而subprocess.call
则不.尝试使用shell = True.