문제

나는 내가 파이썬을 아주 새롭고 아주 새로운 것이라고 말하면서 시작하겠습니다.

예전에는 매개 변수 세트가있는 Mencoder를 시작하기 위해 Windows/DOS 배치 파일을 가지고 있었으며 매일 매개 변수를 입력하지 않고도 매개 변수를 입력 할 필요가 없었습니다.

스크립트를 개선하려고 할 때 상황이 지저분 해졌고 파이썬으로 무언가를 코딩 할 수있는 좋은 기회가 될 것이라고 결정했습니다.

나는 그것을 생각해 냈다 :

#!/usr/bin/python
import sys, os

#Path to mencoder
mencoder = "C:\Program Files\MPlayer-1.0rc2\mencoder.exe"
infile = "holidays.avi"
outfile = "holidays (part1).avi"
startTime = "00:48:00"
length = "00:00:15"

commande = "%s %s -ovc copy -oac copy -ss %s -endpos %s -o %s"
os.system(commande % (mencoder, infile, startTime, length, outfile))

#Pause
raw_input() 

그러나 그것은 작동하지 않으며 Windows는 "C : Program"이 인정되지 않은 명령이 아니라고 불평합니다.

나는 여기저기서 "" "를 넣으려고 노력했지만 도움이되지 않았습니다.

도움이 되었습니까?

해결책

Python에는 "그리고 '와'는 완전히 동일합니다. 문자열에서 인용문을 얻는 가장 쉬운 방법은 '" "C : Program Files mplayer-1.0rc2 mencoder.exe"라고 말하는 것입니다.

원시 접두사 (예 : R ' "C : Program Files Mplayer-1.0rc2 mencoder.exe"')를 사용하는 것이 좋습니다. 탈출 코드입니다. 따라서 원래 문자열은 R을 앞에 놓아서 전혀 변경되지 않습니다.

다른 팁

Windows에서 수행하는 경우 하나 대신 두 개의 따옴표를 사용하십시오.

"\\"

나는 Python을 처음 접했지만 그 문제를 볼 때, 문제를 해결하기 위해 파일 (실행 가능 또는 인수)은 인용문에 있어야합니다. 그냥 추가하십시오 \" 명령 줄 인수를 구별하기 위해 공간이 포함 된 파일 전후. 따라서 이는 Outfile 변수에도 적용됩니다. 코드는 이렇게 보일 것입니다 ...

#!/usr/bin/python
import sys, os

#Path to mencoder
mencoder = "\"C:\Program Files\MPlayer-1.0rc2\mencoder.exe\""
infile = "holidays.avi"
outfile = "\"holidays (part1).avi\""
startTime = "00:48:00"
length = "00:00:15"

commande = "%s %s -ovc copy -oac copy -ss %s -endpos %s -o %s"
os.system(commande % (mencoder, infile, startTime, length, outfile))

#Pause
raw_input()

mencoder.exe를 이름 안에 공간 숯이없는 디렉토리에 넣을 수도 있습니다 (프로그램 파일에 반대).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top