내가 다음을 수행하면 :
import subprocess
from cStringIO import StringIO
subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('one\ntwo\nthree\nfour\nfive\nsix\n')).communicate()[0]
나는 얻다:
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 533, in __init__
(p2cread, p2cwrite,
File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 830, in _get_handles
p2cread = stdin.fileno()
AttributeError: 'cStringIO.StringI' object has no attribute 'fileno'
분명히 cStringIO.StringIO 객체는 하위 프로세스에 맞게 파일 덕에 충분히 근접하지 않습니다. 이 문제를 어떻게 해결합니까?
call(['ls', '-1'], shell=True)
올바르지 않음). 대신 하위 프로세스의 태그 설명에서 일반적인 질문 을 읽는 것이 좋습니다 . 특히, 인수가 시퀀스 일 때 왜 subprocess.Popen이 작동하지 않습니까? 왜 call(['ls', '-1'], shell=True)
잘못되었는지 설명합니다 . 블로그 게시물 아래에 댓글을 남기는 것을 기억하지만 어떤 이유로 든 댓글이 표시되지 않습니다.
subprocess.run
내용은 stackoverflow.com/questions/48752152/…