Python:在命令行添加参数的语法

1 投票
2 回答
44 浏览
提问于 2025-04-14 17:44

我按照imagga的说明,运行一个Python脚本,想要一次性给多个图片自动加标签,使用的是一个第三方的API(叫做imagga)。
在这个脚本里,我需要添加第三方的API密钥,以及运行脚本时需要的输入和输出参数。(输入是包含图片的文件夹,输出是存放脚本生成结果的文件夹)
但是我不是程序员,不知道怎么正确写这些语法。
所以代码无法正常运行,显示错误信息,说我需要添加两个参数:输入和输出。
我希望有人能给我一个清晰的命令行示例,这样我就可以正确运行这个脚本。
这是一个第三方的指南(imagga):
https://imagga.com/blog/batch-image-processing-from-local-folder-using-imagga-api/
(我按照说明添加了API密钥和API秘密)
这是来自imagga的原始脚本代码。(第98、99、105、106行)
https://bitbucket.org/snippets/imaggateam/LL6dd
我把脚本保存为:tag.py
我尝试在命令行中用这个提示运行:tag.py
但是命令行给我发了个错误,说我需要添加输入和输出参数。

我正在尝试成功启动一个Python脚本,自动给本地文件夹里的图片加标签,并把结果导出到另一个本地文件夹。

2 个回答

1

根据你提供的脚本,你需要指定一个包含输入文件的文件夹和一个用来存放输出文件的文件夹,格式如下:

> tag.py <input-dir> <output-dir>

其中,<input-dir><output-dir> 都是你电脑上已经存在的文件夹。

我认为运行 tag.py --help 这个命令会显示一些信息,其中包括类似这样的内容:

<input>     The input - a folder containing images
<output>    The output - a folder to output the results

尖括号是占位符的一部分,用来区分 <mandatory args>(必填参数)和 [optional args](可选参数)。这种写法在 *NIX 系统中大多数情况下是遵循的(虽然不是绝对)。
你可以写成这样:

> tag.py C:\my\input_dir C:\my\output_dir
2

根据你提供的脚本,要用它来处理需要的输入和输出参数,你可以在命令提示符(cmd)中使用以下语法:

python3 tag.py <input_folder_path> <output_folder_path>

<input_folder_path> 替换成你存放要标记的图片的文件夹路径,把 <output_folder_path> 替换成你想让脚本保存结果的文件夹路径。记得在替换的时候,把尖括号(<>)去掉,直接用你的实际文件夹路径。

撰写回答