使用sys.path添加了绝对路径,但仍然无法import相应的自己编写的.py文件

写了一个神经网络的代码程序,想要跨文件引用其他的py文件。
已经使用了sys.path.append()添加地址,可以成功print出来该地址。
但是尝试import却出错。

file =
r”/Users/mason-liu/Downloads/Machine_Learning/Fish_book/dataset”

sys.path.append(os.path.dirname(os.path.abspath(file)))

from mnist import load_mnist

Jason990420
最佳答案

Check if it is correct path to your import module when you execute your script.

os.path.abspath(r"/Users/mason-liu/Downloads/Machine_Learning/Fish_book/dataset")
10个月前 评论
DongMing (楼主) 10个月前
讨论数量: 4
Jason990420

Check if it is correct path to your import module when you execute your script.

os.path.abspath(r"/Users/mason-liu/Downloads/Machine_Learning/Fish_book/dataset")
10个月前 评论
DongMing (楼主) 10个月前
Jason990420

You can find it’s wrong path to your user module mnist

os.path.abspath
on most platforms, this is equivalent to calling the function normpath() as follows:
os.path.normpath(join(os.getcwd(), path)).

d:\>python
Python 3.8.10 (tags/v3.8.10:3d8993a, May  3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> file = r"/Users/mason-liu/Downloads/Machine_Learning/Fish_book/dataset"
>>> import os, sys
>>> file = r"/Users/mason-liu/Downloads/Machine_Learning/Fish_book/dataset"
>>> path1 = os.path.abspath(file)
>>> path1     # Wrong path to your module
'd:\\Users\\mason-liu\\Downloads\\Machine_Learning\\Fish_book\\dataset'
>>> path2 = os.path.dirname(path1)
>>> path2
'd:\\Users\\mason-liu\\Downloads\\Machine_Learning\\Fish_book'
>>> sys.path
['', 'C:\\Software\\Python\\python39.zip', 'C:\\Software\\Python\\DLLs', 'C:\\Software\\Python\\lib', 'C:\\Software\\Python', 'C:\\Software\\Python\\lib\\site-packages', 'C:\\Software\\Python\\lib\\site-packages\\win32', 'C:\\Software\\Python\\lib\\site-packages\\win32\\lib', 'C:\\Software\\Python\\lib\\site-packages\\Pythonwin', 'D:\\Python\\Project\\OK', 'd:\\', 'C:\\Software\\Python\\python38.zip']
>>> sys.path.append(path2)
>>> sys.path
['', 'C:\\Software\\Python\\python39.zip', 'C:\\Software\\Python\\DLLs', 'C:\\Software\\Python\\lib', 'C:\\Software\\Python', 'C:\\Software\\Python\\lib\\site-packages', 'C:\\Software\\Python\\lib\\site-packages\\win32', 'C:\\Software\\Python\\lib\\site-packages\\win32\\lib', 'C:\\Software\\Python\\lib\\site-packages\\Pythonwin', 'D:\\Python\\Project\\OK', 'd:\\', 'C:\\Software\\Python\\python38.zip', 'd:\\Users\\mason-liu\\Downloads\\Machine_Learning\\Fish_book']
10个月前 评论

file

Thanks for your reply. I dont understand how to modify yet. Thats's correct address.

file @Jason990420

10个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!