Python无法打开文件“没有这样的文件或目录”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python无法打开文件“没有这样的文件或目录”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2266字,纯文字阅读大概需要4分钟。
内容图文
![Python无法打开文件“没有这样的文件或目录”](/upload/InfoBanner/zyjiaocheng/735/f0bfc5ac055c429285effa206d5e5e42.jpg)
def main():
fh = open('lines.txt')
for line in fh.readlines():
print(line)
if __name__ == "__main__": main()
目录文件
我在for-working.py文件,我正在尝试访问同一工作目录中的lines.txt文件.但我得到错误
No such file or directory: ‘lines.txt’
打开文件时python是否需要有绝对路径?
为什么这条相对路径不适用于此?
运行python 3.6
编辑^ 1我正在运行带有Don Jayamanne的python包扩展的visualstudio代码,以及用于编译/执行python代码的“Code Runner”包
编辑^ 2完整的错误:
Traceback (most recent call last):
File "c:\www\Ex_Files_Python_3_EssT(1)\Ex_Files_Python_3_EssT\Exercise Files\07 Loops\for-working.py", line 11, in <module>
if __name__ == "__main__": main()
File "c:\www\Ex_Files_Python_3_EssT(1)\Ex_Files_Python_3_EssT\Exercise Files\07 Loops\for-working.py", line 7, in main
fh = open('lines.txt', 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'lines.txt'
编辑^ 3检查sys.path
import sys
print(sys.path)
产生这些信息:
['c:\\www\\Ex_Files_Python_3_EssT(1)\\Ex_Files_Python_3_EssT\\Exercise Files\\07 Loops',
'C:\\Users\\Kagerjay\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip', 'C:\\Users\\Kagerjay\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\Kagerjay\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\Kagerjay\\AppData\\Local\\Programs\\Python\\Python36', 'C:\\Users\\Kagerjay\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']
编辑^ 4检查os.getcwd()
运行
import os
print(os.getcwd())
产生
c:\www\Ex_Files_Python_3_EssT(1)\Ex_Files_Python_3_EssT\Exercise Files
那么它绝对不在正确的子目录中(需要cd 07循环文件夹,这会缩小问题范围
编辑^ 5 lines.txt文件中的内容
我正在打开的lines.txt文件看起来像这样.开始时没有额外的空格或任何内容
01 This is a line of text
02 This is a line of text
03 This is a line of text
04 This is a line of text
05 This is a line of text
综上所述
Visual Studio代码的Code runner扩展需要稍微调整以打开子目录中的文件,因此以下任何答案都将提供更强大的解决方案,以独立于IDE的任何扩展/依赖性
import os
print(os.getcwd())
对python解释器看到的当前目录诊断问题最有用
解决方法:
获取文件的目录,并将其与要打开的文件一起加入:
def main():
dir_path = os.path.dirname(os.path.realpath(__file__))
lines = os.path.join(dir_path, "lines.txt")
fh = open(lines)
for line in fh.readlines():
print(line)
if __name__ == "__main__": main()
内容总结
以上是互联网集市为您收集整理的Python无法打开文件“没有这样的文件或目录”全部内容,希望文章能够帮你解决Python无法打开文件“没有这样的文件或目录”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。