- Переконайтесь, що файл існує: використовуйте
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')