Я играю с python3+, но пока не могу заставить его прочитать файл, который является локальным для репозитория git.
вывод
pyyaml version = 5.3.1
Whoops! Can't find config.yml file --- exiting
Process finished with exit code 1
права доступа к файлам
-rw-r--r-- 1 pi pi 270 Nov 29 18:55 config.yml
drwxr-xr-x 8 pi pi 4096 Nov 30 12:54 .git
drwxr-xr-x 3 pi pi 4096 Nov 30 13:00 .idea
-rw-r--r-- 1 pi pi 447 Nov 30 13:19 main.py
код приложения
import requests
import yaml
import sys
from bs4 import BeautifulSoup
ymlversion = yaml.__version__
print("pyyaml version = " + ymlversion)
try:
open("config.yml")
except FileNotFoundError:
sys.exit('Whoops! Can\'t find config.yml file --- exiting')
# open the yaml file and load it into data
with open("config.yml", "r") as yamlfile:
data = yaml.load(yamlfile, Loader=yaml.FullLoader)
print("Read successful")
print(data)
try
и запустите блокwith
? - person sphennings   schedule 30.11.2020config.yal
относится к вашему текущему рабочему каталогу, а не к каталогу, в котором находитсяmain.py
. - person Harrison Totty   schedule 30.11.2020open
завершится успешно, вы не закроете его, поэтому файл будет открыт дважды, как только ваш код сможет его найти. Я предлагаю вам использоватьos.path.isfile()
для проверки существования файла. Возможно, вы захотите сделатьprint(os.getcwd())
, чтобы увидеть, какой у вас текущий каталог, чтобы вы знали, в каком каталоге Python ищет ваш входной файл. - person CryptoFool   schedule 30.11.2020