一个需要传入参数的python程序,如何封装成可执行文件?

我已经写好一个python程序功能是搜索一段时间范围内的信息,程序需要传入参数,即开始和结束的时间。
目前想把这个程序封装成一个可执行文件,这样其他人拿到程序后在自己电脑上就可以直接跑了,以前用pyinstaller试过将.py文件转换成.exe文件,不过碰到需要传参数的情况好像就不适用了。
想请问大家是否有相关的教程或者工具,将.py文件转化为一个可手动输入参数(比如时间)的可执行文件?

阅读 20.6k
4 个回答

command line 介面下簡單來說三種方法:

  1. input 去問使用者

  2. sys.argv

  3. 用一些 package/module, 像是 argparseclime

示範一下 第二點:

假設你的 python file 叫 test.py

import sys
print(sys.argv)

運行:

$ python test.py hello world 2016-07-01 12:30
['test.py', 'hello', 'world', '2016-07-01', '12:30']

我回答過的問題: Python-QA

新手上路,请多包涵

举个栗子:XX.py

import sys

arg1 = sys.argv[1]
arg2 = sys.argv[2]
print(arg1)
print(arg2)

平时运行python XX.py arg1 arg2
打包完成后XX.exe arg1 arg2

没有很难,动手实践,楼上说【打包成exe程序后,是不允许添加参数的】能不能别存在感,误导别人,

为什么不直接setup.py定义entry_points呢, 这样别人pip install你的模块就可以直接使用命令了。至于生成命令上面大神已经说的很详细了, 再补充一个flask作者写的click工具

新手上路,请多包涵

没有你们回答的这么简单,打包成exe程序后,是不允许添加参数的.python程序是可以的,打包以后输入参数就会报错的,提示成勋不能接受参数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题