通配符错误-“无效选项”

时间:2018-08-09 12:08:22

标签: python cmd wildcard

我目前正在使用python脚本,其中有一段时间我要删除名称以.txt结尾的文件

为此,我只是在python中使用os运行命令行:

os.system("del working/*.txt")

运行python脚本时,在cmd中出现以下错误:

选项无效-“ *”。,可以翻译为“无效选项”

cmd似乎无法识别通配符,但对此我知之甚少。为什么它不起作用?

我知道我可以用正则表达式处理这种情况,但我想理解。

提前谢谢

2 个答案:

答案 0 :(得分:2)

在Windows中,\是路径分隔符,而不是/,因此您应该这样做:

os.system(r"del working\*.txt")

请注意,Windows中的/用于开关,因此出现“无效选项”错误。

答案 1 :(得分:1)

我认为最好使用带有“ del”命令的os.remove代替os.system。使用os.system,您的脚本将无法在Linux上运行。这里是使用os.remove的示例:

files = os.listdir("working\")
for fi in files:
    if fi.endswith(".json"):
        os.remove("working\{}".fomat(fi))