Python在Windows Linux子系统中找不到文件

2024-09-28 22:24:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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()

如何消除文件未找到错误


Tags: 文件fromimportjson权限admin错误service
2条回答

您需要设置绝对路径,因为~将因中的调用用户而异

cred = credentials.Certificate("~/projects/scrape/serviceAccountKey.json")

~通常由shell扩展为$HOME的值。这不适用于程序中的路径,包括Python程序,除非它们也进行类似的替换;Python在pathlib.Path.expanduseros.path.expanduser中为此提供了实用程序

相关问题 更多 >