chen475349487
2019-06-26 15:45
采纳率: 66.7%
浏览 3.3k
已采纳

.py用pyinstaller打包生成的exe,在cmd里面运行没有print输出

在命令行里运行脚本,然后带参数,用python.exe -test.py -c ** -f ** or python.exe -test.py -h,这样能在cmd里面有print输出。但是用pyinstaller打包生成.exe后(pyinstaller -w -F test.py common.py),命令行能正常执行,但是没有print输出,求解

import sys
import common

if len(sys.argv) == 1:
    valueforc = "None"
    valueforf = "None"
    print (valueforc,valueforf)
else:
    (optc, valueforc, optf, valueforf) = common.command(sys.argv[1:])
    print ("test1")
def command(argv):
    try:
        opts, args = getopt.getopt(argv, "hc:f:")
        print(opts, args)
    except getopt.GetoptError:
        print('use the current options: test.py -c <categoryname> -f <featurename>')
        sys.exit(2)
    for opt, arg in opts:
        if opt == '-h':
            print('test.py -c <categoryname> -f <featurename>')
            sys.exit()
        elif opt == "-c":
            category = arg
            optc = opt
            optf = "None"
            feature = "None"
        elif opt == "-f":
            feature = arg
            optf = opt
            optc = "None"
            category = "None"
    return(optc, category, optf, feature)
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 吃鸡王者 2019-06-26 16:01
    已采纳

    打包的时候-w参数去掉,这个参数是去命令窗口的,没有命令窗口肯定看不到输出了

    评论
    解决 4 无用 1
    打赏 举报
  • 查看更多回答(3条)

相关推荐 更多相似问题