對我個人來說也困擾很久的問題。
我自己處理在傳參數給 os.system 的時候,若是有空隔或單引號的時候,
會特別用別的字取代,但如此也就把參數值也改掉了。
只有我自己用的程式還好,但是別人就是要用空隔跟單引號怎辦呢?
今天很巧的在 pycontw 2013 的影片裡,看到有人用以下解法。
馬上抄下來,以後慢慢用。
真是感恩。
def escapeShellArg(string):
return "'"+string.replace("'", "'\\''")+"'"
args = ' '.join(map(escapeShellArg, argv))
os.system('ffmpeg -i '+args)
來源:
http://www.youtube.com/watch?v=RszFch-fjJc 15:50
pycontw 2013 郭學聰
沒有留言:
張貼留言