将参数传递给 python 程序

Passing arguments to a python program

我有一个 python 程序接收文件路径作为参数。

问题是,如果文件路径包含以下字符:“%cd”,那么它会将“%cd”替换为当前目录。

例如:

python program.py  "C:\%af%32%cd%7f.htm"

sys.argv(在 program.py 中)显示:

['program.py', 'C:\%af%32C:\%7f.htm']

为什么会这样,如何解决?

编辑

问题是,如果我在命令行中输入“%cd”,那么在 python 中,我会得到带有当前目录字符串而不是“%cd”字符的命令行

使用 %% 转义 % 仅适用于批处理文件,不适用于命令行。 可以用双引号转义 %

例如: python untitled0.py "C:\"%"af"%"32"%"cd"%"7f.htm"

['untitled0.py', 'C:\"%af%32%cd%7f.htm']

但这有点乏味 - 您必须小心 \ 转义任何 "

另一种方法是将 % 替换为其他符号,然后在 python 程序中将其改回?