相关疑难解决方法(0)

Python子进程:打开文件太多

我正在使用子进程调用另一个程序并将其返回值保存到变量.此过程在循环中重复,并在几千次之后程序崩溃并出现以下错误:

Traceback (most recent call last):
  File "./extract_pcgls.py", line 96, in <module>
    SelfE.append( CalSelfEnergy(i) )
  File "./extract_pcgls.py", line 59, in CalSelfEnergy
    p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
  File "/usr/lib/python3.2/subprocess.py", line 745, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.2/subprocess.py", line 1166, in _execute_child
    errpipe_read, errpipe_write = _create_pipe()
OSError: [Errno 24] Too many open files
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题非常感谢!

评论提供的代码:

cmd = "enerCHARMM.pl -parram=x,xtop=topology_modified.rtf,xpar=lipid27_modified.par,nobuildall -out vdwaals {0}".format(cmtup[1])
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
out, err = p.communicate()
Run Code Online (Sandbox Code Playgroud)

python subprocess

39
推荐指数
7
解决办法
5万
查看次数

Python:os.remove()和os.unlink()之间的区别以及使用哪一个?

我在一个文件夹中有许多文件.我想删除一个文件后删除它.这两种方法有什么区别?哪种方法适用于我的场景?谢谢!

python python-2.7

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

标签 统计

python ×2

python-2.7 ×1

subprocess ×1