【发布时间】:2021-06-01 11:19:02
【问题描述】:
我正在编写一个 python 脚本来使用 OpenCV 包处理视频。我对python很陌生,所以我面临以下问题。
在代码的最后我想添加下面的代码。 但是,我不知道如何添加我的代码的输入和输出文件。
import argparse
def main(input_, output_):
pass # do something with the parameters
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='OpenCV video processing')
parser.add_argument('-i', "--input", help='full path to input video that will be processed')
parser.add_argument('-o', "--output", help='full path for saving processed video output')
args = parser.parse_args()
if args.input is None or args.output is None:
sys.exit("Please provide path to input and output video files! See --help")
main(args.input, args.output)
你能帮我理解我填错了什么吗?
【问题讨论】:
-
您不要将文件名放在代码本身中(如在您的第二个块中),而是放在用于调用此脚本的命令行中。你是如何调用这个脚本的?从操作系统外壳(Windows 或 Linux)或像
sypder这样的 ide?看来您需要更多有关如何运行 Python 程序的基础知识。 -
所以你的意思是我必须在命令行中而不是在代码本身中填写输入和输出文件路径?我确实是 Python 新手。我正在使用间谍。任何可以帮助我了解更多信息的资源都非常受欢迎
-
使用
argparse的全部意义在于让您为不同的运行指定不同的文件名,而无需每次都更改代码。如果您从 OS shell 调用脚本,很容易告诉您如何提供这些名称,但使用spyder您只需单击一个按钮即可运行,并且必须在其他窗口中指定名称。我不使用spyder,所以无法提供详细信息。 -
我更改了标签以更好地反映您问题的核心。
标签: python command-line-arguments spyder argparse