我在WSL的Ubuntu环境中使用python编写了一个脚本
我在Windows中下载了firebase的私钥“serviceAccountKey.json”,然后将其移动到我在wsl中的工作目录中。(使用“mv mnt/c/Users/Yiu/Downloads/serviceAccountKey.json~/projects/scrap”)。现在,我试图将该文件传递给Certificate(),但我得到一个文件未找到错误
我做了一些研究,发现权限可能有一些问题,但是文件都有读、写和执行权限
剧本:
import requests
from bs4 import BeautifulSoup
import firebase_admin
from firebase_admin import credentials, firestore
cred = credentials.Certificate("~/projects/scrape/serviceAccountKey.json")
firebase_admin.initialize_app(cred)
db = firestore.client()
如何消除文件未找到错误
您需要设置绝对路径,因为
~
将因中的调用用户而异~
通常由shell扩展为$HOME
的值。这不适用于程序中的路径,包括Python程序,除非它们也进行类似的替换;Python在pathlib.Path.expanduser和os.path.expanduser中为此提供了实用程序相关问题 更多 >
编程相关推荐