python - 在 Python 中执行带有特殊字符的 Linux 命令

标签 python linux subprocess popen

我只想从 python 脚本执行命令 rm/tmp/*.idx。我已经读到 os.system 已被弃用(它不是,请参阅评论),所以我正在尝试使用 Popen 进行以下操作:

proc = subprocess.Popen(shlex.split('rm /tmp/*.idx'))
proc.communicate()

当然在导入 shlexsubprocess 之后,但它不会删除文件。

谢谢。

最佳答案

全局模式是 shell 语法。所以:

subprocess.Popen("rm /tmp/*.idx", shell=True)

关于python - 在 Python 中执行带有特殊字符的 Linux 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45921063/

相关文章:

python - 在 login.defs 中使用子进程自动搜索和更改密码老化时遇到问题

Python:使用 sh 运行 docker 容器并处理 UTF-8 解码错误

python - Odoo 错误,伙伴无法关注同一个对象两次

python - 使用 Python 列表理解来匹配存在于二维数组和简单列表中的值

Python 3.6 datetime.fromtimestamp 在给定 0 时抛出错误

python - 将多个子进程的输出附加到Python中的数组

Python:使用 subprocess.Popen 执行长时间运行的进程,杀死它并访问其输出

python - 具有相同类型属性的类的类型注释?

python - 没有得到 LD_LIBRARY_PATH

c - Linux 上的 wprintf UTF16(应该是 UTF8)?