嗨,我是第一次写 python:
我有一个现有的 getprop.py 脚本,它加载属性文件并打印给定属性的值:
import sys
import util
if len(sys.argv) < 3:
print "Error! Usage is: getprop.py [propfile] [propname]"
sys.exit(1)
props = util.loadprops(sys.argv[1])
if sys.argv[2] in props:
print props(sys.argv[2]);
现在我需要在另一个 py 脚本中获取一个属性的值,所以我修改了上面的脚本,这样我就不会干扰它的功能,并且我可以在另一个脚本中使用它:
import sys
import util
def getpropvalue(propfile, propname):
props = util.loadprops(propfile)
if propname in props:
return props[propname]
if len(sys.argv) < 3:
print "Error! Usage is: getprop.py [propfile] [propname]"
sys.exit(1)
else:
print getpropvalue(sys.argv[1], sys.argv[2]);
然后在其他脚本中我导入 getprop 并调用 getprop.getpropvalue(FILE_NAME, PROP_NAME) 之类的方法,并将属性的值打印在屏幕上。
为什么打印值?有没有更好的方法来解决这个问题?
请您参考如下方法:
有一种方法只有在直接调用脚本时才能运行脚本。将这些行添加到 getprop 代码的末尾:
if __name__ == "__main__":
main()
这样,main 函数只会在您直接运行脚本(而不是导入)时被调用。这就是你要找的吗?
一些解释:每个正在运行的脚本都有一个 __name__ 变量,如果您从 IDE 或控制台(如 python script.py)运行脚本,该变量将设置为 "__main__"
