最近私のWindows OSと一緒に実行するためにUbuntuをインストールしました。私はUbuntuで特定のスクリプトがどのように動作していたかを見たいと思っていました。問題の原因となるコードの一部です。 os.system( 'gnome-open' + filePath)コマンドを使用してファイルを開こうとしましたが、ディレクトリではなくファイル名のみを指定しなければファイルを開くことができません(つまり、 .txt "は、" home/user/workspace/project/src/data.txt "とは言えません。ファイル/ディレクトリが存在しないと言うからです)。また、私はテスト目的のために、このファイルの複数のコピーを作成し、それらのいくつかは名前にカッコがあります。私はこれらのファイルを開くときに "sh:Syntax error:"( "unexpected" 。。コードの行は、私は以下に私が参照しているコードがある、それは私がこの関数を呼び出すときにアクセスのLINEだ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