当前位置: 首页 > 面试题库 >

Python IDLE子进程错误?

陆洛城
2023-03-14
问题内容

IDLE的子进程未建立连接。IDLE无法启动子进程,或者个人防火墙软件正在阻止连接。

不要以为这是被问到的-运行非常简单的程序时偶尔会出现这种情况-然后我必须去任务管理器并停止所有Pythonw进程才能使其再次工作?

它似乎随机发生在不同的代码位上-这是我目前正在执行的代码-

f = open('money.txt')
currentmoney = float(f.readline())
print(currentmoney, end='')
howmuch = (float(input('How much did you put in or take out?:')))
now = currentmoney + howmuch
print(now)
f.close()
f = open('money.txt', 'w')
f.write(str(now))
f.close()

有时有效,有时却无效!


问题答案:

在Python 3.0.1中,我在按住Ctrl-C来中断Idle的Python Shell中的程序的先前运行然后尝试运行脚本后,遇到了该错误。

同样在3.0.1中:假设您打开了两个Idle窗口:一个脚本打开以供编辑,另一个是Idle的Python
Shell窗口。我发现,如果您关闭外壳程序窗口然后立即尝试运行脚本,则在尝试重新打开外壳程序时会出现该错误-
但是如果您稍等一下让Idle进行任何干净的连接,则不会要做它。

我发现了更严重的错误(再次出现在v3.0.1-中,不确定在2.x版本中是否会发生这种情况):我有一个长脚本-达到9k行-
一旦达到一定大小,就执行“另存为”,它将使空闲状态崩溃。我不确定大小的确切阈值是多少-
但在此之前,我还会得到间歇性的“另存为”崩溃,这似乎取决于我所进行的操作-其他空闲窗口​​,外壳中有多少输出窗户-
像那样的东西。它可能崩溃,您将丢失未保存的工作。

另外-我通常要做的一件事是打开一个暂存窗口,在其中我可以在有效性的各个阶段剪切和粘贴一些代码,给自己写笔记,等等-
所以不是有效的python脚本,但是有时我会保存这些以便我能来回到他们身上。我有一个这样的文件,每次我尝试打开它时,它都会崩溃到空闲状态-
并且我第一次丢失未保存的工作。(仅供参考:其他编辑器,包括PythonWin 2.5.2,打开文件都没有问题。)



 类似资料:
  • 问题内容: 我正在使用以下函数在Python中运行命令: 它一直都运行良好,但是现在我正尝试使用该程序将输出传递给stdin。我尝试运行的命令如下: 但我相信可以用一般示例代替它,例如: 我的问题是,如果我尝试运行其中包含的任何命令,则上面的subprocess.Popen将包含错误消息: 对我来说,管道似乎仍然有效,从的答案可以看出:。 我有以下问题: 即使yes报告错误,yes管道是否仍然有效

  • 其他堆栈溢出引用:使用FFMPEG提取帧的最快方法?

  • 每当使用fork创建一个程序的子进程,就会发生以下情况 - 当前进程现在成为父进程 新的进程成为子进程 如果父进程早于子进程完成其任务,然后退出,会发生什么情况? 现在谁将是子进程的父进程? 子进程的父进程是初始进程,它是启动所有任务的第一个进程。 要监视子进程执行状态,要检查子进程是正在运行还是停止,或检查执行状态等,使用系统调用及其变体。 让我们考虑一个示例程序,其中父进程不等待子进程,这会导

  • 稳定性: 2 - 稳定的 child_process 模块提供了衍生子进程的功能,它与 popen(3) 类似,但不完全相同。 这个功能主要由 child_process.spawn() 函数提供: const { spawn } = require('child_process'); const ls = spawn('ls', ['-lh', '/usr']); ls.stdout.on('

  • Process 结构体代表了一个正在运行的子进程,并公开了stdin(标准输入),stdout(标准输出) 和 stderr(标准错误) 句柄,通过管道和底层的进程交互。(原文:The Process struct represents a running child process, and exposes the stdin, stdout and stderr handles for int

  • #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { pid_t pid; pid = fork(); if (pid < 0) { exit(1); } else if (pid > 0) { exit

  • 问题内容: 感谢以下有用的建议: 所以当我似乎固定 将命令分成对Popen的单独调用 stderr = subprocess.PIPE作为每个Popen链的参数。 新代码: 原始帖子: 我花了很长时间尝试解决通过简单的subprocess.Popen传递问题。 码: 输出文件的长度约为1000行: 文件长度大于241行的输出: 文件长度小于241行的输出很好。 我一直在疯狂地阅读文档并进行谷歌搜索

  • 我正在使用Python中的wget下载一个文件,代码如下: 该文件已下载并正确保存在给定文件夹中,但进程仍在运行。我尝试了但这也不起作用。请告知。 谢谢