2015-05-31 4 views
1

Я использую python на Mac и хотел бы открыть pdf-файл, который присутствует в разных каталогах, чем каталог, в котором работает мой основной код python. Я пробовал разные варианты, но всегда есть ошибка, говорящая, что файл не существует, даже когда файл присутствует, или [Ошибка нет. 2] невозможно открыть. Вот код, который я использую:Python: ошибка абсолютного пути в mac

helpFile = os.path.abspath('~/help/help.pdf') 
self.help_btn = tk.Button(self.help_frm, text="Help!", width=8, command = lambda: os.system("open "+helpFile)) 

Может кто-нибудь помочь пожалуйста.

+0

Этот код имеет много общего - TkInter, lambda, os.path.abspath и т. Д. Я бы упростил его для кода, который просто пытается открыть и прочитать файл. Таким образом, вы можете задать вопрос более просто, и также будет легко определить проблему. – rickcnagy

ответ

1

abspath не раскрывает ~ в домашний каталог пользователя, он просто вычисляет абсолютный путь файла на основе его пути относительно текущего рабочего каталога.

С docs, это эквивалентно:

normpath(join(os.getcwd(), path)) 

Таким образом, в вашем коде, helpFile создается в "/path/to/cwd/~/help/help.pdf"

Для расширения ~ используйте os.path.expanduser.

Смежные вопросы