相关疑难解决方法(0)

重新启动自我更新的python脚本

我编写了一个脚本,通过从网站下载最新版本并覆盖正在运行的脚本来保持自己的最新状态.

我不确定在更新脚本后重新启动脚本的最佳方法是什么.

有任何想法吗?

我真的不想要一个单独的更新脚本.哦,它也必须在Linux/Windows上工作.

python auto-update

37
推荐指数
3
解决办法
3万
查看次数

使用Popen在没有控制台的情况下在pythonw中运行进程

我有一个带有GUI的程序,通过Popen调用运行外部程序:

p = subprocess.Popen("<commands>" , stdout=subprocess.PIPE , stderr=subprocess.PIPE , cwd=os.getcwd())
p.communicate()
Run Code Online (Sandbox Code Playgroud)

但是无论我做什么,都会弹出控制台(我也尝试将NUL传递给文件句柄).如果没有得到我调用的二进制文件来释放它的控制台,有没有办法做到这一点?

python console user-interface popen pythonw

17
推荐指数
2
解决办法
1万
查看次数

从Python执行子进程而不打开Windows命令提示符

可能重复:
在没有控制台的情况下使用Popen在pythonw中运行进程
如何从Python(2.7)中的衍生进程中消除Windows控制台?

我有一个Python程序,它调用一个单独的数字运算程序(用C语言编写)作为子进程多次(使用subprocess.check_call).它在Linux上运行良好,除了一件小事之外,它在Windows上运行良好:每次调用子进程时,都会创建一个命令提示符窗口,然后在子进程退出时很快就会被销毁.

这根本不会影响计算,但是它非常烦人,因为这个窗口一直在屏幕上闪烁,这使得在计算机上执行其他操作很困难,因为新的命令提示符窗口可以窃取键盘焦点.

如何简单地执行子进程(没有GUI),并阻止创建命令提示符窗口?

python windows subprocess

9
推荐指数
1
解决办法
1万
查看次数

如何在Python(2.7)中消除衍生进程中的Windows控制台?

可能重复:
在没有控制台的情况下使用Popen在pythonw中运行进程

我在Windows上使用python 2.7来使用dcraw和PIL自动执行批量RAW转换.

问题是我每次运行dcraw时都会打开一个Windows控制台(每隔几秒就会发生一次).如果我使用.py运行脚本它不那么烦人,因为它只打开主窗口,但我更愿意只呈现GUI.

我是这样介入的:

args = [this.dcraw] + shlex.split(DCRAW_OPTS) + [rawfile]
proc = subprocess.Popen(args, -1, stdout=subprocess.PIPE)
ppm_data, err = proc.communicate()
image = Image.open(StringIO.StringIO(ppm_data))
Run Code Online (Sandbox Code Playgroud)

感谢Ricardo Reyes

次要修订到配方,在2.7看来,你需要得到STARTF_USESHOWWINDOW来自_subprocess(您也可以使用pywin32,如果你想要的东西,可能有点不太容易发生变化),所以为后人:

suinfo = subprocess.STARTUPINFO()
suinfo.dwFlags |= _subprocess.STARTF_USESHOWWINDOW
proc = subprocess.Popen(args, -1, stdout=subprocess.PIPE, startupinfo=suinfo)
Run Code Online (Sandbox Code Playgroud)

python windows subprocess popen

6
推荐指数
1
解决办法
2357
查看次数

如何将 .py 文件更改为 .pyw?

我试图右键单击该文件并重命名它,但它甚至不会向我显示扩展名,因此我可以将其删除。我也试过去属性,我也不能从那里做。我没有直接用 python 的 Tkinter 编码,我使用了我的书附带的定制图形库。

windows

1
推荐指数
1
解决办法
7307
查看次数