hel*_*004 1 python io file python-3.x
我对Python很陌生。所以我正在尝试我的第一篇基本代码。所以我试图读取文件并在Python中逐行打印。这是我的代码:
class ReadFile(object):
def main (self):
readFile = ReadFile()
readFile.printData()
def printData(self):
filename = "H:\\Desktop\\TheFile.txt"
try:
with open(filename, 'r') as f:
value = f.readline()
print(value)
f.close()
except Exception as ex:
print(ex)
Run Code Online (Sandbox Code Playgroud)
现在,当我运行它时,没有任何输出。所以我尝试调试它。我看到控件从一种方法跳转到另一种方法(主-> printData),然后存在。它在该方法内不执行任何操作。你能告诉我我在做什么错吗?我是新来的,所以对为什么代码表现为这种方式的一点见识也很不错。
如果此处的想法是了解如何逐行读取文件,那么您所需要做的就是:
with open(filename, 'r') as f:
for line in f:
print(line)
Run Code Online (Sandbox Code Playgroud)
将其放在try-except块中是不典型的。
回到您的原始代码,由于缺乏对如何在python中定义类/如何工作的理解,我认为这里存在一些错误。
您编写该代码的方式表明您可能来自Java背景。我强烈建议您进行Coursera或EdX提供的众多免费且非常好的在线python课程之一。
无论如何,这是我将使用类的方法:
class ReadFile:
def __init__(self, path):
self.path = path
def print_data(self):
with open(self.path, 'r') as f:
for line in f:
print(line)
if __name__ == "__main__":
reader = ReadFile("H:\\Desktop\\TheFile.txt")
reader.print_data()
Run Code Online (Sandbox Code Playgroud)