![](/img/trans.png)
[英]can anyone please let me know what does this line do in my python CODE:
[英]Please let me know the problem in the following python code
我正在尝试编写此代码,该代码仅测试文件是否存在,然后读取并打印。 我已将此代码编写为一个名为readFile.py的文件,并尝试使用execfile命令通过外壳运行它。 我已经放了许多打印指令,以检查控件的运行方向。 结果仅显示前两个打印stmts,并且控件未输入def readFile()。我无法找到原因,需要帮助。谢谢!
print 'i am doing fine'
filename = "train-win.dat"
print 'i am doing fine1'
def readFile():
print 'i am doing fine2'
import os
print 'i am doing fine3'
if os.path.exists(filename):
print 'i am doing fine4'
f = open(filename,"r")
print 'i am doing fine5'
a = f.readlines()
print 'i am doing fine6'
print a
print 'i am doing fine7'
f.close()p
您定义了函数readFile
但尚未调用它,因此它将永远不会执行。 在文件末尾添加此内容(不缩进):
readFile()
此外,在函数的最后一行上还会出现语法错误:
f.close()p
p不应该在那里。
完成这两项更改后,您的程序似乎可以运行。
尽管您的代码可以使用另一个答案中显示的微小修改来工作,但是编写Python的通常方式以稍微不同的顺序显示代码。 如果没有多余的print
语句,我可能会这样写:
import os
def readFile():
if os.path.exists(filename):
f = open(filename, "r")
a = f.readlines()
print a
f.close()
filename = "train-win.dat"
readFile()
第一件事是import
模块。 通常,这是在文件顶部完成的。
下一部分定义了一个名为readFile
的函数。 def
语句在执行时实际上并没有执行任何操作,但是Python会记住该块中的语句,以便稍后执行。
最后, readFile()
实际上会调用readFile
函数。
还要注意,我将f.close()
移到了if
语句中。 如果您从未尝试过将f
从未打开过,则您不想尝试将其关闭。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.