就像这样diagram。你知道吗
当我导入模块时“库达马特.py“或”eignmat.py公司". 我遇到了一个“找不到文件问题”。实际上,在这两个文件中,作者处理利贝格马特“具有相对路径。你知道吗
with open("libeigenmat.so", 'r') as file:
file.read()
但是当我运行“run*.py”时,我在子文件夹中,因此python解释器找不到“利贝格马特". 你知道吗
你们能帮我解决这个问题吗?在相对路径中使用文件操作如何调用父方法?更具体地说,如何更改eignmat.py公司或库达马特.py使这两个文件在任意路径中可用?你知道吗
谢谢
run
命令应该总是从项目的根目录调用。类似地,您应该将带有可导入函数的脚本包装到package
。有不同的方法可以做到这一点,比如使用sys.path.append
或使用相对导入,但是如果您是Python处理导入的初学者,那么这确实是两条很好的经验法则。实际上,即使你不是初学者,这也是一个很好的练习按以下方式重新组织项目:
__init__.py
告诉Python将它所在的文件夹视为可导入模块的内容。在run.py
中,使用语句from my_package import eigenmat
或from my_package import cudamat
。也可以使用完全相同的语句在eigenmat.py
和cudamat.py
之间导入。你知道吗您可以使用
.
符号来表示层次结构中更高的目录,将单个.
放在文件路径的开头,但它表示“此文件所在的文件夹”,因此要从父目录获取文件,您可以使用..
首先获得绝对路径,然后将其与文件结合起来,就可以确定目标。你知道吗
相关问题 更多 >
编程相关推荐