최근에 내 Windows OS와 함께 실행되도록 Ubuntu를 설치했습니다. 나는 우분투에서 어떤 스크립트가 어떻게 돌아가는지를보고 싶었고, 대부분의 경우 잘 돌아갔다. 문제를 일으키는 내 코드의 한 부분이 있습니다. os.system ('gnome-open'+ filePath) 명령을 사용하여 파일을 열려고 시도하지만 파일 이름을 지정하지 않으면 파일을 열 수 없습니다 (예 : "data" .txt "파일/디렉토리가 존재하지 않는다고 말하기 때문에"home/user/workspace/project/src/data.txt "라고 말할 수 없습니다. 또한 테스트 목적으로이 파일의 사본을 여러 개 만들었는데 그 중 일부는 이름에 괄호가 있습니다.이 파일을 열려고하면 "sh : 구문 오류 :"("예기치 않게"오류가 발생하고 .. 코드의 라인은 그래서 다음은 내가 참조하고있어 코드가 그것이 내가이 함수를 호출 할 때 액세스 것 라인의Python의 Linux에서 전체 경로 이름을 가진 파일을 열 수 없습니다.
def openFileOfItem(self, row):
print fileList[row]
if platform.system() == "Windows":
os.startfile(fileList[row])
else:
if platform.system() == "Linux":
os.system('gnome-open ' + nameList[row])
else:
os.system('open %s' % fileList[row])
가정 그리고 일부 샘플 출력 :
/home/damian/workspace/Kde Gen/src/data.txt
Error showing url: Error stating file '/home/damian/workspace/Kde': No such file or directory
/home/damian/workspace/Kde Gen/src/data (copy).txt
sh: Syntax error: "(" unexpected
이것을 확인하십시오. 공백을 벗어날 필요가 있습니다. http://stackoverflow.com/questions/35817/how-to-escape-os-system-calls-in-python – jmort253