2014-11-26 4 views
0

.dll 파일 내부의 문자열과이 파일을 디렉토리에 저장해야하는 python 스크립트를 작성하고 있습니다. 이 스크립트는이 코드는 디렉토리의 파일을 나열되지만 오류를python을 사용하여 변수를 사용하여 linux 명령 실행

** 문자열을 제공하지 명령을 실행하지 않는

import sys 
import os 
def main(): 
    for lst in os.listdir("dir name"): 
      print lst 
      os.system("strings"+" "+lst) 
if __name__ == "__main__": 
    main() 

입니다 : '파일 이름을'그런 파일 **

무엇 이 스크립트에 문제가 있습니까?

답변

0

공백이나 다른 특수 문자가 포함 된 파일 이름에 문제가 있습니다.

당신이 시도 할 수 :

def quote(s): 
    return "'" + s.replace("'", "'\\''") + "'" 

def main(): 
    for lst in os.listdir("."): 
      print lst 
      os.system("strings " + quote(lst)) 

PS를 파이썬 3.3 (이상)으로, shlex.quote 대신

를 사용
관련 문제