我正在使用python 3.7
这是我的项目文件结构
.
├── aa
│ ├── reader.py
│ └── readme.txt
└── m.py
1 directory, 3 files
m.py文件中的:
import aa.reader as reader
reader.read_file()
reader.py文件中的:
def read_file():
with open('readme.txt', 'r') as f:
d = f.read()
return d
if __name__ == '__main__':
print(read_file())
readme.txt文件中的:
this is the content of readme
当我运行m.py文件时,我遇到了以下错误:
ranick@r-ubt:~/Desktop/kk$ python m.py
Traceback (most recent call last):
File "m.py", line 4, in <module>
reader.read_file()
File "/home/ranick/Desktop/kk/aa/reader.py", line 3, in read_file
with open('readme.txt', 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'readme.txt'
如何修复此错误
文件路径相对于从中调用条目文件
python m.py
的路径进行解析要解决此问题,您可以使用到
readme.txt
的绝对路径,或者将'readme.txt'
更改为'aa/readme.txt'
要找出应用相对路径结尾的绝对路径,可以从
reader.py
执行以下操作:在Python中使用文件的相对路径时,该路径是相对于当前工作目录(
cwd
),而不是相对于文件的当前位置当前工作目录是启动脚本的路径。在您的例子中,cwd是一个包含脚本
m.py
的文件夹您需要将路径更改为
readme.txt
。一个健壮的选项是获取脚本reader.py
的路径,并使用它确定文件readme.txt
的路径。您可以使用模块属性__file__
获取模块的完整文件路径,然后提取目录名New reader.py
相关问题 更多 >
编程相关推荐