我想打开一个.java文件,文件名中包含“Application”。该文件是正确访问但我尝试读取文件时得到一个空字符串。
该文件不为空, application_class.tell()返回0(表示读取的指针位于文件的开头)。我能做些什么来阅读我的文件?
import os
files = [f for f in os.listdir('.') if os.path.isfile(f)]
filename_application = ""
for file in files:
if "Application" in file:
filename_application = file
application_class = open(filename_application, "r")
#application_class.seek(0)
print(application_class.tell())
print(application_class.read())
我的目录
$ ls
CustomersApplication.java main.py
答案 0 :(得分:1)
要tell()
尺寸,您需要seek()
结束文件:
application_class.seek(0, os.SEEK_END)
print(application_class.tell())
答案 1 :(得分:0)
application_class.tell()返回当前位置,这是正确的。 尝试更改read()和tell()的顺序。
此外,该计划可以简化:
import os
files = [f for f in os.listdir('.') if os.path.isfile(f) and "Application" in f]
filename_application = files[0] if files else ""
if not filename_application:
print "Application not found!"
else:
application_class = open(filename_application, "r")
print(application_class.read())
print(application_class.tell())