Я недавно установил Ubuntu для работы вместе с моей ОС Windows. Я хотел посмотреть, как работает определенный скрипт в Ubuntu, и по большей части он работает нормально. Есть одна часть моего кода, которая вызывает проблемы. Я пытаюсь открыть файл с помощью команды os.system ('gnome-open' + filePath), но не могу открыть файл, если не укажу только имя файла, а не каталог (т.е. я должен сказать "данные" .txt ", я не могу сказать" home / user / workspace / project / src / data.txt ", потому что он скажет, что файл / каталог не существует). Также я сделал несколько копий этого файла для целей тестирования, и у некоторых из них есть скобки в их именах, когда я пытаюсь открыть эти файлы, я получаю ошибку «sh: Syntax error:» («неожиданный», и он не указывает строка кода, поэтому я предполагаю, что эта строка используется при вызове этой функции. Ниже приведен код, на который я ссылаюсь.
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