저는 csv 파일에서 모든 입력 이름과 출력 이름을 최적화하고 정렬하기위한 많은 이미지가 있습니다. 이전에는 AWK를 사용하여 이러한 종류의 작업을 수행했지만 지금은 .Popen 메서드로 파이썬으로 전환하는 것을 선호합니다. 서브 프로세스의 다중 변수. % dict()가있는 팝업 %
import subprocess
import shlex
cmdc2d='c2d %(inname)s -clip 1% 99% -type short -stretch 1% 99% 0 255 -o %(outname)s'
argscmd=shlex.split(cmdc2d)
subprocess.Popen(argscmd%dict(inname='test1.png',outname='test1-2.png'))
출력
나에게Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for %: 'list' and 'dict'
가 어떻게이 Ponpen []에 그 모든 변수를 전달할 수있는 오류를했다?
미리 감사드립니다.
감사합니다. 그러면 스크립트로 csv를 가져갈 것입니다. – user3817800
@ user3817800 :'inname' 또는'outname'에 공백이 있으면'shlex.split()'이 깨집니다. Popen()을 읽기 시작 했으므로 [목록 대신 직접 목록을 만들 수 있습니다.] (http://stackoverflow.com/a/25163739/4279) – jfs