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

.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
    吃鸡王者 2019-06-26 16:01
    已采纳

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

    点赞 2 评论
  • chen475349487
    chen475349487 2019-06-26 16:16
    点赞 评论
  • weixin_45319279
    乱人心~ 2019-06-26 17:00

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

    点赞 评论
  • qq_45477327
    风&鸾 2021-04-03 10:23

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

     

    点赞 评论

相关推荐