gpt4 book ai didi

python - 从 python3 运行 bash 命令

转载 作者:行者123 更新时间:2023-11-28 22:35:56 24 4
gpt4 key购买 nike

我正在尝试删除一些文件(从我的 linux 机器上),除了几个:

touch INCAR KPOINTS foo bar
$ls
bar foo INCAR KPOINTS
$python3 mini.py
Job Done
$ls
bar foo INCAR KPOINTS

mini.py 是:

#!/usr/bin/python3
import subprocess

subprocess.run(['rm', '-f', '!(INCAR|KPOINTS|PO*|*.sh)'])
print("Job Done")

mini.py 的输出中可以看出,它没有给出任何错误,但也没有完成它的工作。

我做错了什么?

最佳答案

它不起作用,因为 !()是扩展匹配模式,需要显式启用:

subprocess.run(['/bin/bash', '-O', 'extglob', '-c', 'rm -f !(INCAR|KPOINTS|PO*|*.sh)'])

请注意,这将删除脚本本身...

关于python - 从 python3 运行 bash 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37865608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com