python 打印命令导致 I/O 错误
python print command causes I/O error
我有一个 python 代码已经 运行 在多台计算机上运行多年了。我最近安装了 python(相同版本)并在新计算机上上传了相同的代码。该代码将 运行 好几天,直到它在尝试执行简单的打印命令时突然遇到错误。打印命令是打印到主控制台,而不是文件,如 'print i got this far' 类型的 QC 检查。我可以注释掉所有打印命令,但我需要那些 QC 检查。
C:\X\halo1_rt_v6.5.py in halo_storeFile(halo1Config, product, spreftype, dateTime, ending, height)
164 fnout_recent = halo1Config["LATEST"]+halo1Config["NAME"]+ "_" + product.upper()+"_"+dateTime+"-"+spreftype + ending
165 fdest = dst + fnout_time
--> 166 print 'STORING: ',fdest, fnout_latest, fnout_recent
167 else:
168 fnout_time = halo1Config["NAME"] +"_" + product.upper()+ "-" + spreftype+"_"+dateTime+"_" +str(height) + '_m'+ ending
C:\Users\Default.Default-PC\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.7.4.3348.win-x86_64\lib\site-packages\ipykernel\iostream.pyc in write(self, string)
315
316 is_child = (not self._is_master_process())
--> 317 self._buffer.write(string)
318 if is_child:
319 # newlines imply flush in subprocesses
ValueError: I/O operation on closed file
我的 python 版本、Enthought Canopy 或 ipykernel 有问题吗?我尝试更新 ipykernel。所有代码所做的只是将简单的语句打印到控制台,所以我不知道为什么会遇到 I/O 错误——我没有写入任何文件,代码在 90% 的情况下都可以正常工作!
感谢您的帮助
您是否在 运行Canopy GUI 的 IPython 面板中编写代码?这是一个 Jupyter / IPython Qtconsole,它有一个 2 进程(内核:前端)架构,比 1 进程架构更脆弱(例如,它需要通过本地主机传达您的打印语句。
因此,如果这是一个长 运行ning 程序,那么在一个简单的 ipython 终端中 运行 它会更健壮(从 Canopy 命令提示符中打开 ipython
).
我有一个 python 代码已经 运行 在多台计算机上运行多年了。我最近安装了 python(相同版本)并在新计算机上上传了相同的代码。该代码将 运行 好几天,直到它在尝试执行简单的打印命令时突然遇到错误。打印命令是打印到主控制台,而不是文件,如 'print i got this far' 类型的 QC 检查。我可以注释掉所有打印命令,但我需要那些 QC 检查。
C:\X\halo1_rt_v6.5.py in halo_storeFile(halo1Config, product, spreftype, dateTime, ending, height)
164 fnout_recent = halo1Config["LATEST"]+halo1Config["NAME"]+ "_" + product.upper()+"_"+dateTime+"-"+spreftype + ending
165 fdest = dst + fnout_time
--> 166 print 'STORING: ',fdest, fnout_latest, fnout_recent
167 else:
168 fnout_time = halo1Config["NAME"] +"_" + product.upper()+ "-" + spreftype+"_"+dateTime+"_" +str(height) + '_m'+ ending
C:\Users\Default.Default-PC\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.7.4.3348.win-x86_64\lib\site-packages\ipykernel\iostream.pyc in write(self, string)
315
316 is_child = (not self._is_master_process())
--> 317 self._buffer.write(string)
318 if is_child:
319 # newlines imply flush in subprocesses
ValueError: I/O operation on closed file
我的 python 版本、Enthought Canopy 或 ipykernel 有问题吗?我尝试更新 ipykernel。所有代码所做的只是将简单的语句打印到控制台,所以我不知道为什么会遇到 I/O 错误——我没有写入任何文件,代码在 90% 的情况下都可以正常工作!
感谢您的帮助
您是否在 运行Canopy GUI 的 IPython 面板中编写代码?这是一个 Jupyter / IPython Qtconsole,它有一个 2 进程(内核:前端)架构,比 1 进程架构更脆弱(例如,它需要通过本地主机传达您的打印语句。
因此,如果这是一个长 运行ning 程序,那么在一个简单的 ipython 终端中 运行 它会更健壮(从 Canopy 命令提示符中打开 ipython
).