chen475349487
chen475349487
采纳率66.7%
2019-06-26 15:45

.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条回答

  • qq_39412061 吃鸡王者 2年前

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

    点赞 2 评论 复制链接分享
  • weixin_45319279 乱人心~ 2年前

    你的参数有问题,直接把参数去掉就可以了

    点赞 1 评论 复制链接分享
  • chen475349487 chen475349487 2年前
    点赞 1 评论 复制链接分享
  • qq_45477327 风&鸾 1月前

    太感谢你了,找了一早上的问题!!!

     

    点赞 评论 复制链接分享

相关推荐