【发布时间】:2021-03-12 16:56:51
【问题描述】:
我正在使用 python3+,但无法让它读取 git repo 本地的文件
输出
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)
【问题讨论】:
-
您是否从 Git 目录运行脚本?
-
当您注释掉
try块并运行with块时会发生什么? -
请记住,
config.yal与您当前的 工作 目录相关,不一定是main.py所在的目录。 -
如果您的第一个
open成功,您将不会关闭它,因此一旦您的代码找到该文件,您将打开该文件两次。我建议您使用os.path.isfile()检查文件是否存在。您可能想要执行print(os.getcwd())以查看您当前的目录是什么,这样您就知道 Python 在哪个目录中查找您的输入文件。
标签: python