- Переконайтесь, що файл існує: використовуйте
os.listdir()для перегляду списку файлів у поточному робочому каталозі
- Переконайтесь, що ви перебуваєте в каталозі, у якому ви думаєте
os.getcwd()(якщо ви запускаєте свій код із IDE, ви цілком можете бути в іншому каталозі)
- Тоді ви можете:
- Зателефонуйте
os.chdir(dir), dirбудучи папкою, де знаходиться файл, а потім відкрийте файл із лише його назвою, як ви робили.
- Вкажіть абсолютний шлях до файлу у своєму
openдзвінку.
- Не забувайте використовувати необроблений рядок, якщо ваш шлях використовує зворотні скісні риски, наприклад:
dir = r'C:\Python32'
- Якщо ви не використовуєте raw-string, вам доведеться уникати кожної косої риски:
'C:\\User\\Bob\\...'
- Похилі риски також працюють у Windows,
'C:/Python32'і їх не потрібно уникати.
Дозвольте мені пояснити, як Python знаходить файли:
- Абсолютний шлях шлях , який починається з кореневої директорії вашого комп'ютера, наприклад , «C: \ Python \ Scripts ..» якщо ви на Windows.
- Відносний шлях це шлях , що починається не з кореневої директорії вашого комп'ютера, і замість того, щоб по відношенню до чого - то називається
working directory. Ви можете переглянути поточний робочий каталог Python, зателефонувавши os.getcwd().
Якщо ви спробуєте це зробити open('sortedLists.yaml'), Python побачить, що ви передаєте йому відносний шлях, тому він буде шукати файл у поточному робочому каталозі. Виклик os.chdirзмінить поточний робочий каталог.
Приклад: Скажімо, file.txtзнайдено в C:\Folder.
Щоб відкрити його, ви можете зробити:
os.chdir(r'C:\Folder')
open('file.txt')
або
open(r'C:\Folder\file.txt')