python-3.x 在脚本中添加“argparser.add_argument()”

slwdgvem  于 2022-11-26  发布在  Python
关注(0)|答案(2)|浏览(120)

我正在编写一些使用YouTubeV3 API上传视频的代码。我正在浏览Google提供的演示脚本,但并不完全理解这段代码。它使用argparser.add_argument()通过命令行添加文件或标题等信息,但我想在脚本中添加这些信息。我该如何做?
我试过用“default”属性设置这个值,但是这在循环中不起作用,因为你最后加了两次。我在网上找不到任何关于这个的东西。
下面是一个基本版本的代码,其中包含print语句来显示值:

argparser.add_argument("--file", default="video.mp4")
argparser.add_argument("--title", default="hello world")
print(f"argparser:\n{argparser}\n")
print(f"argparser.parse_args():\n{argparser.parse_args()}\n")
args = argparser.parse_args()
print(f"args:\n{args}\n")

以下是输出(我更改了“auth_host_port”的值,不认为我需要审查它,但最好是安全的,然后对不起):

argparser:
ArgumentParser(prog='script.py', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=False)

argparser.parse_args():
Namespace(auth_host_name='localhost', noauth_local_webserver=False, auth_host_port=[0000, 0000], logging_level='ERROR', file='video.mp4', title='hello world')

args:
Namespace(auth_host_name='localhost', noauth_local_webserver=False, auth_host_port=[0000, 0000], logging_level='ERROR', file='video.mp4', title='hello world')
sbdsn5lh

sbdsn5lh1#

我终于明白了,其实很简单。
您可以只执行args.[varaible] = [value],例如args.file = "video.mp4"args.title = "hello world"
您不需要先创建变量,只需创建args.[varaible] = [value],它就会将新变量添加到args中

plicqrtu

plicqrtu2#

Python的argparse库是一个用于构建CLI(命令行接口)的库--这意味着你可以通过命令行将变量传递给程序。https://towardsdatascience.com/a-simple-guide-to-command-line-arguments-with-argparse-6824c30ab1c3
如果您不希望将其编程为CLI,只需进行所需的调整即可。例如,不这样做:

print(f"Video title: {argparser.title}")
# This stores the "--title" argument you pass in through the command line.
# If you do not pass a title argument, it takes the default value.
# In your case, it will be "hello world", as you specified in the second line

请执行以下操作:

title = "My video title"
print(f"Video title: {title}")

相关问题