subprocess.call 与 os.system 有何不同

2023-12-13

我有一个 python 脚本来安装/卸载一些经常使用的程序,它还会在卸载后清理一些快捷方式/文件夹。我曾经使用此代码来删除文件夹

os.system('rd /S /Q "{0}\\{1}"'.format(dirname, name))

效果很好。我正在尝试转换我的用法os.system to subprocess.call所以我将上面的行更改为这样

subprocess.call(['rd', '/S', '/Q', '{0}\\{1}'.format(dirname, name)])

但这给出了错误

The system cannot find the file specified (2)

我一定是错误地使用了 subprocess.call 但我无法解决它。任何帮助将不胜感激,谢谢。


不同之处在于os.system默认情况下在子 shell 中执行,而subprocess.call才不是。尝试使用shell=True.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

subprocess.call 与 os.system 有何不同 的相关文章

随机推荐