현재 Popen
을보고 있습니다. & 문서의 저장을 자동화하고 있습니다. 압축의 경우 subprocess.Popen (shell = True) with windows folders
subprocess.Popen("WinRAR.exe a -r c:\\03. Notes\\AllTexts *.txt", shell=True)
명령이 공간 (03. Notes
)를 포함하는 폴더 이름을 처리 할 수 없습니다 나는이 오류 메시지를 가지고 유지. 이 질문은 몇 번하기 전에 물어 보았습니다. 원시 문자열, 큰 따옴표, 삼중 따옴표 등 모든 제안을 시도했다고 말해야합니다. 아무도 일하지 않았습니다.
폴더 이름을 변경할 수 없기 때문에 시도 할 아이디어가 더 이상 없으므로이 명령 줄을 성공적으로 통과시킬 수있는 방법을 조언 해줄 수 있습니까?
왜 당신이 사용하는 '쉬 ell = True'입니까? 'glob' 모듈로 glob를 확장하는'list' 기반의 호출을 사용하고,'shell = True'를 사용하지 않고 파이썬이 필요한 변환을하거나 자동으로 이스케이프하도록 할 수 있습니까? – ShadowRanger
이 명령에 쉘을 사용할 이유가 없습니다. 셸없이 인수 목록을 사용하십시오 (예 : 'subprocess.check_call (""WinRAR.exe ","a ","-r ", r"C : \ 03. Notes \ AllTexts ","* .txt "])'. – eryksun
이 힌트를 가져 주셔서 감사합니다. 인수 목록은 필자의 예제보다 훨씬 길기 때문에 check_call은 많은 의미를가집니다. 나는 당신의 코멘트를 표시하는 방법이 귀중한 대답을 가지고 있는지 모르지만 실제로 많은 도움이되었습니다. 자동화 프로젝트에서 희망을 되찾았습니다 :-) – JCF