gpt4 book ai didi

python - 使用 Python 子进程处理带括号的文件路径

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:51:27 26 4
gpt4 key购买 nike

我要处理的文件的路径中包含括号。

path = "/dir/file (with parentheses).txt"

我正尝试在 Python 中按如下方式处理它们:

subprocess.call("./process %s" % path, shell=True)

但是,我得到以下错误

/bin/sh: 1: Syntax error: "(" unexpected

如何传递正确的字符串来处理正确的路径?

最佳答案

不要使用 shell=True。它很容易出问题(如 OP 中所示)并启用 shell injection attacks .

这样做:

subprocess.call(["./process", path])

如果您坚持使用 shell=True,请阅读 Security Considerations在 python 文档中,并确保使用 shlex.quote 正确转义所有元字符。

关于python - 使用 Python 子进程处理带括号的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30564980/

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