Python使用linecache方法读取TXT文件的指定行报错
import linecache
f = open('v.txt','r+')
print(linecache.getline(f, 1))
print(linecache.getline(f, 2))
print(linecache.getline(f, 3))
f.close()
TXT内容:
1
2
3
debug报错:
'_io.TextIOWrapper' object has no attribute 'startswith'
Python报错:Traceback (most recent call last):
File "C:\Users\100521\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "C:\Users\100521\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "c:\Users\100521.vscode\extensions\ms-python.python-2022.10.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy_main.py", line 39, in
cli.main()
File "c:\Users\100521.vscode\extensions\ms-python.python-2022.10.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 430, in main
run()
File "c:\Users\100521.vscode\extensions\ms-python.python-2022.10.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 284, in run_file
runpy.run_path(target, run_name="__main__")
File "c:\Users\100521.vscode\extensions\ms-python.python-2022.10.1\pythonFiles\lib\python\debugpy_vendored\pydevd_pydevd_bundle\pydevd_runpy.py", line 322, in run_path
pkg_name=pkg_name, script_name=fname)
File "c:\Users\100521.vscode\extensions\ms-python.python-2022.10.1\pythonFiles\lib\python\debugpy_vendored\pydevd_pydevd_bundle\pydevd_runpy.py", line 136, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "c:\Users\100521.vscode\extensions\ms-python.python-2022.10.1\pythonFiles\lib\python\debugpy_vendored\pydevd_pydevd_bundle\pydevd_runpy.py", line 124, in _run_code
exec(code, run_globals)
File "c:\pythoncode\python.py", line 58, in
print(linecache.getline(f, 1))
File "C:\Users\100521\AppData\Local\Programs\Python\Python37\lib\linecache.py", line 16, in getline
lines = getlines(filename, module_globals)
File "C:\Users\100521\AppData\Local\Programs\Python\Python37\lib\linecache.py", line 47, in getlines
return updatecache(filename, module_globals)
File "C:\Users\100521\AppData\Local\Programs\Python\Python37\lib\linecache.py", line 90, in updatecache
if not filename or (filename.startswith('<') and filename.endswith('>')):
AttributeError: '_io.TextIOWrapper' object has no attribute 'startswith'