- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
运行一个简单的 .py 或 .pyw python 文件会导致 python.exe
显示在任务管理器下。
python myApp.py
python myApp.pyw
python.exe
也没有运行。或
pythonw.exe
出现在任务管理器下
pythonw myApp.pyw
pythonw myApp.py
最佳答案
tl;博士
pythonw myApp.py 1>stdout.txt 2>stderr.txt
print()
, 在文件
stdout.txt
中和 stderr 输出(例如来自未处理的异常),在文件
stderr.txt
中;从 PowerShell,使用
cmd /c pythonw myApp.py 1>stdout.txt 2>stderr.txt
)。
pythonw
失败的唯一原因的话。是使用
print
(在 Python 2.x 中 - 见下文)。
*.pyw
时似乎不起作用直接脚本(而不是通过将脚本文件路径传递给
pythonw.exe
)。如果您知道原因和/或它是否适合您,请告诉我。
pythonw.exe
:
import sys, os
if sys.executable.endswith("pythonw.exe"):
sys.stdout = open(os.devnull, "w");
sys.stderr = open(os.path.join(os.getenv("TEMP"), "stderr-"+os.path.basename(sys.argv[0])), "w")
pythonw.exe
运行脚本时,这可以确保以下内容:
print()
调用和显式调用 sys.stdout()
被有效地忽略(无操作)。 %TEMP%\stderr-<scriptFileName>
; %TEMP%
是一个标准的 Windows 环境变量,指向当前用户的临时文件文件夹。 %TEMP%\stderr-<scriptFileName>
在您的脚本在使用 pythonw.exe
调用时静默失败后 .
pythonw.exe
用于启动 GUI/no-UI-at-all 脚本,这意味着
这sys.stdin
, sys.stdout
, sys.stderr
不可用。
print()
- 目标 sys.stdout
默认 - 在 Python 2.x 中导致异常 .print()
触发的一个在 2.x 中 - 导致脚本 静默中止 .sys.stderr
默认情况下,这在这种情况下是不可用的。 sys.stdout
的尝试- 无论是显式还是隐式通过 print()
. pythonw.exe
运行脚本时,
sys.stdin
,
sys.stdout
, 和
sys.stderr
:
sys.stdout
时的最终结果或 sys.stderr
是以下异常:IOError: [Errno 9] Bad file descriptor
pythonw.exe
立即激发它与 -u
(对于无缓冲输出)。 print()
盲目尝试sys.stdout
(默认情况下),因此它迟早会引发此异常。 None
print()
的补充函数在发现 sys.stdout
时执行无操作(什么都不做)是 None
,所以 print()
默认情况下可以安全地使用语句 - 当使用 pythonw.exe
运行时,它们将被简单地忽略。 sys.stdout.write()
和 sys.stderr.write()
仍然导致异常。 关于python - .pyw 和 pythonw 不能在 Windows 7 下运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24835155/
我现在已经学习Python2.7一段时间了。顺便说一句,我使用的是 Windows 7 64 位。我开始学习 GUI,并一直尝试使用 wxpython 和 IDLE 来实现此目的。所以我输入了一些代码
每次我尝试使用 pythonw 而不是 python 运行脚本时,它都会在任务管理器中显示一瞬间然后崩溃。我目前正在开发一个 discord 机器人,每次脚本成功运行时,机器人都会向服务器发送消息,并
当在 pythonw 中运行时,我想将 stderr 和 stdout 重定向到文件。如何确定脚本是在 pythonw 中运行还是在 python 中运行? 最佳答案 sys.executable -
每次我重新启动 shell 或运行脚本时,都会创建 pythonw.exe*32 实例。当我退出 IDLE 时,这些进程不会在任务管理器中消失。关于如何解决此问题的任何想法? 谢谢! 最佳答案 您是否
尝试使用 conda update --all 更新 Anaconda 后,下载成功结束,但在尝试安装软件包时,出现错误消息:“Windows 找不到‘pythonw’。请确保您输入的名称正确,然后重
我在 Windows 7 上运行 Python 3.3。我有一个脚本,当我这样调用它时会成功: c:\python33\python.exe my_script.py 但是当我这样调用它时失败了: c
启动anaconda之后,python崩溃,并显示消息“pythonw.exe已停止工作”。 Please find error screenshot here 我已经下载了一些软件包(nltk)。之
我编写了一个 Python 脚本,它以特定的时间间隔截取我的电脑的屏幕截图,并将该屏幕截图发送到我的 S3 存储桶。当我使用 python 命令运行我的脚本时,它有效,但是当我使用 pythonw.e
这个问题已经有答案了: Python subprocess.call() fails when using pythonw.exe (3 个回答) 已关闭 5 年前。 我有一个关于 pythonw 的
我不明白为什么这么简单的代码 # file: mp.py from multiprocessing import Process import sys def func(x): print '
长话短说:pythonw.exe 什么都不做,python.exe 什么都不接受(我应该使用哪个?) test.py: print "a" CMD 窗口: C:\path>pythonw.exe te
我试图使用以下方法创建一个新的 conda 环境: conda create -n py35 python=3.5 anaconda 在 conda 下载所有软件包的几分钟内,一切似乎都正常。然而,上
pythonw.exe 没有控制台,所以我看不到 print 的输出。但我的程序在 python.exe 中正常,在 pythonw.exe 中失败。我只想查看 python 解释器的日志和我的“打印
我试过这个最小的例子: from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): ret
当使用 pythonw 执行脚本时,它不会打开控制台。 有没有办法通过保留pythonw的用法来捕获此类脚本的stdout? 注意,我正在寻找一种不需要修改脚本的解决方案(我知道我可以使用日志记录)
我正在尝试通过 Windows 中的 GUI 应用程序在 Selenium 脚本中打开 Firefox 浏览器。它在使用 python.exe runw.py 运行时很好,但是当我使用 pythonw
当我使用 pythonw.exe 在 Windows 上运行以下脚本时,我希望能够获取 stdout 和 stderr 的内容: import subprocess import sys import
我遇到了奇怪的崩溃。我在Windows 7上使用spyder 3.3.1。运行以下行时: df[cols]=df[cols].fillna(df.median()) Python 崩溃。我可以选择关闭
我创建了一个带有 GUI 组件的 python 库。我正在使用 setuptools 的 console_scripts 功能创建一个命令行启动器。目前,当我使用 console_scripts 启动
我正在尝试调试我正在编写的 pythonw 脚本,因为它在通过空闲启动它时可以工作,但在通过 cmd 启动它或双击它时它会崩溃。我目前失败的代码是 import sys sys.stdout = op
我是一名优秀的程序员,十分优秀!