0

下面的代码来自github,我根据系统路径来改变它

with open("./output/cifar_inception_plot.pkl", 'rb') as f:
dat = pickle.load(f)
total_inception = dict({})
for item in dat:
    allis = dat[item]
    allis = [x[0] for x in allis]
    total_inception[os.path.basename(item)] = np.array(allis)

当我尝试像下面的代码一样更改它时:

with open("./Users/Amulya/Desktop/cifar_inception.pkl", 'rb') as f:
dat = pickle.load(f)
total_inception = dict({})
for item in dat:
    allis = dat[item]
    allis = [x[0] for x in allis]
    total_inception[os.path.basename(item)] = np.array(allis)

我有错误

-------------------------------------------------- ------------------------- FileNotFoundError Traceback (最近一次调用最后一次) in 77 } 78 ---> 79 with open("./Users/ Amulya/Desktop/cifar_inception.pkl", 'rb') as f: 80 dat = pickle.load(f) 81 total_inception = dict({}) FileNotFoundError: [Errno 2] No such file or directory: './Users/ Amulya/Desktop/cifar_inception.pkl'

我仍然收到有关如何正确写入文件名的任何解决方案的错误

4

3 回答 3

-1

如果文件与您正在运行的 python 脚本位于同一目录中,您可以只使用文件本身的名称,open("cifar_inception.pkl")否则您可以使用 os 库中的各种实用程序。最终,您需要知道文件在系统上的位置以及完整路径是什么,如果有疑问,请使用来自根目录的完整路径,假设您在 Mac OS 上,基于您提供的路径,它可能只是“/Users/阿穆利亚/桌面/cifar_inception.pkl”。

于 2020-10-16T18:30:07.547 回答
-1

该符号.表示您提供的是相对于当前工作目录的相对路径。我建议您将表示您尝试打开的文件的路径的字符串更改为包含文件绝对路径的字符串。

如果您可以通过带有 GUI 的文件管理器应用程序访问该文件(例如 Windows 上的 Windows Explorer,Ubuntu 上的 Nautilus),您可以通过检查文件的属性轻松检查文件的绝对路径。如果您可以通过命令行访问文件的目录,PWD是一个输出当前目录绝对路径的环境变量。您可以检查它echo $PWD并将文件名 (cifar_inception.pkl) 附加到命令的输出中,以获得文件的绝对路径。

于 2020-10-16T18:33:29.637 回答
-1

./Users/Amulya/Desktop/cifar_inception.pkl不存在。

./ 表示“在此目录中”。例如:我在我的主文件夹中: /home/me/ 并且我想访问我的下载文件夹。而不是输入“/home/me/Download”,我可以使用“./Download”。

您的程序正在尝试在其当前路径中查找名为 User 的文件夹。

只需从绝对路径中删除单个点,它可能会起作用。

于 2020-10-16T18:31:09.033 回答