def functION():
Source_obj = path.relpath("WebSource\EXAMPLE SOURCE.htm")
data = Source_obj.read()
我在位于Python文件正下方的子目录中时打开此文件时遇到问题...有没有更好的方法从我的计算机上的任何目录中打开文件?
FileNotFoundError: [Errno 2] No such file or directory: 'WebSource\\EXAMPLE SOURCE.htm'
我无法从文件中读取,因为我收到以下错误:
C:\python34\python.exe G:\Robot\test.py
Process started >>>
Traceback (most recent call last):
File "G:\Robot\test.py", line 118, in <module>
functION()
File "G:\Robot\test.py", line 64, in functION
data = Source_obj.read()
AttributeError: 'str' object has no attribute 'read'
<<< Process finished. (Exit code 1)
================ READY ================
BTW:要读取的文件只是HTML Chrome网页上的源文件。
我正在寻找更多关于路径的帮助,并想知道为什么我得到关于路径的第一个提到的回溯
答案 0 :(得分:4)
os.path.relpath()
会返回字符串,而不是打开的文件对象。你需要先打开一个文件;使用open()
function:
def functION():
Source_obj = path.relpath(r"WebSource\EXAMPLE SOURCE.htm")
with open(Source_obj) as fileobj:
data = fileobj.read()
with
这里将文件对象视为上下文管理器;当退出语句下的缩进代码块时(因为代码已完成或发生异常),文件对象将自动关闭。
答案 1 :(得分:1)
您的Source_obj
只是一个字符串,而不是文件。
def functION():
Source_obj = path.relpath("WebSource\EXAMPLE SOURCE.htm")
with open(Source_obj) as f:
data = f.read()
通过open()
- 你可以从文件中读取。使用with
上下文管理器,当您离开该代码块时,将正确关闭该文件。