uma*_*utt 4 python command-line cmd exe
我用python 3.5编写了一个脚本。我已经使用 pyinstaller 制作了一个 .exe 文件。该脚本有一些打印语句,它们在执行期间显示在控制台中。当我从命令提示符运行我的脚本时,我可以看到我的 cmd 中的所有消息,但是当我从 cmd 运行 .exe 文件时,我在命令提示符中看不到任何消息。有什么方法可以从 .exe 文件中查看命令提示符中的消息。
例如,假设下面是我的名为 abc.py 的脚本:
def sum():
first = 5
print('First number is {}'.format(first))
second = 10
result = first + second
print('second number is {}'.format(second))
print('Sum is = {}'.format(result))
sum()
Run Code Online (Sandbox Code Playgroud)
现在,当我从 cmd 运行此文件时,例如:python \pathto\abc.py,我可以看到 cmd 中的所有消息。现在,当我制作 .exe 并从 cmd 执行类似 \pathto\abc.exe 的操作时,我什么也看不到。有没有办法在 .exe 文件的 cmd 中看到 ,msgs ?
首先感谢您的支持。我找到了解决方案。我正在使用: pyinstaller.exe --onefile --windowed myapp.py 生成我的 .exe 文件。从文档中我发现 --windowed 阻止在应用程序运行时显示控制台窗口。如果您要发布非图形应用程序(即控制台应用程序),则不需要使用此选项。因此,如果您使用以下命令生成 exe:
pyinstaller.exe --onefile myapp.py
Run Code Online (Sandbox Code Playgroud)
然后通过 cmd 运行它,所有的消息都会显示在你的 cmd 中。注意:通过这种方式,您也可以使用命令行参数从 cmd 运行您的 exe。例如假设如果在上面的代码变量中:
first = sys.argv[1]
Run Code Online (Sandbox Code Playgroud)
然后从cmd运行exe文件,如:
/exe/路径 20
也会起作用。请记住, sys.argv 会生成一个字符串,因此在这种情况下,您需要将 20 转换为整数。
| 归档时间: |
|
| 查看次数: |
6751 次 |
| 最近记录: |