2024-10-01 00:14:30 发布
网友
我正在从hsj.py公司使用pyinstaller。在
在hsj.py公司公司名称:
import sys file_url = "http://"+str(sys.argv[1])+":5000/fileW" print(file_url) x=raw_input()
它只打印从传递给它的命令行参数形成的完整url。在
我想在pyinstaller命令本身中传递命令行参数。有办法吗?在
我不完全确定x=raw_input()应该做什么。。。在
x=raw_input()
但我建议您使用内置模块argparse:
import argparse def main(arg): file_url = "http://"+str(sys.argv[1])+":5000/fileW" return file_url if __name__ == "__main__": parser = argparse.ArgumentParser() #"address" as positional argument parser.add_argument("adress") args = parser.parse_args() if args.adress: print(main(args.adress)) else: pass #OR: #print(main("default adress")) #OR: #print("TypeError: hsj.py missing 1 required positional argument: \"address\"")
我定义了一个main函数,只是为了让内容更具可读性,如果你想做的不仅仅是打印一个字符串,那就没有必要了。在
if __name__ == "__main__":确保hsj.py公司作为脚本运行,而不是用作模块。在
if __name__ == "__main__":
parser.add_argument是“定义”参数,您可以另外定义一个小的帮助文本,当您键入hsj.py公司-“h”或“帮助”
parser.add_argument
或者定义所需的输入类型(默认为字符串,因此在您的情况下不需要):
parser.add_argument("adress", type=int)
import argparse parser = argparse.ArgumentParser() #"address" as positional argument parser.add_argument("adress") args = parser.parse_args() print("http://",arg.adress,":5000/fileW")
我不完全确定
x=raw_input()
应该做什么。。。在但我建议您使用内置模块argparse:
代码说明
我定义了一个main函数,只是为了让内容更具可读性,如果你想做的不仅仅是打印一个字符串,那就没有必要了。在
if __name__ == "__main__":
确保hsj.py公司作为脚本运行,而不是用作模块。在一些额外的
^{pr2}$parser.add_argument
是“定义”参数,您可以另外定义一个小的帮助文本,当您键入hsj.py公司-“h”或“帮助”或者定义所需的输入类型(默认为字符串,因此在您的情况下不需要):
短版和ookk版:
相关问题 更多 >
编程相关推荐