Python 从另一个py调用py脚本将打印该值
您好,我是第一次编写python: 我有一个现有的getprop.py脚本,用于加载属性文件并打印给定属性的值:Python 从另一个py调用py脚本将打印该值,python,Python,您好,我是第一次编写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:
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]);
导入系统
导入util
如果len(sys.argv)<3:
打印“错误!用法为:getprop.py[propfile][propname]”
系统出口(1)
props=util.loadprops(sys.argv[1])
如果道具中的sys.argv[2]:
打印道具(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]);
导入系统
导入util
def getpropvalue(propfile,propname):
props=util.loadprops(propfile)
如果道具中的道具名称:
返回道具[道具名称]
如果len(sys.argv)<3:
打印“错误!用法为:getprop.py[propfile][propname]”
系统出口(1)
其他:
打印getpropvalue(sys.argv[1],sys.argv[2]);
然后在另一个脚本中,我导入getprop并调用getprop.getpropvalue(FILE\u NAME,PROP\u NAME)这样的方法,它在屏幕上打印属性的值
为什么它会打印值?有没有更好的方法来解决这个问题?有一种方法可以仅在直接调用脚本时运行脚本。将这些行添加到
getprop
代码的末尾:
if __name__ == "__main__":
main()
这样,只有在直接运行脚本(不导入)时才会调用main
函数。这就是你要找的吗?一些解释:每个正在运行的脚本都有一个
\uuu name\uuuuuuuuuu
变量,该变量将被设置为“\uuuuuu main\uuuuuuuuuu”
,如果您从IDE或控制台(如python script.py
)运行脚本,则只有在直接调用脚本时才可以运行脚本。将这些行添加到getprop
代码的末尾:
if __name__ == "__main__":
main()
这样,只有在直接运行脚本(不导入)时才会调用main
函数。这就是你要找的吗?一些说明:如果您从IDE或控制台(如
python script.py
运行脚本,则每个运行脚本都有一个\uuu name\uuuuuuuuu
变量,该变量将被设置为“\uuuuu main\uuuuuuuuu”
,将getprop.py更改为:
import sys
import util
def getpropvalue(propfile, propname):
props = util.loadprops(propfile)
if propname in props:
return props[propname]
if __name__ == '__main__':
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]);
导入系统
导入util
def getpropvalue(propfile,propname):
props=util.loadprops(propfile)
如果道具中的道具名称:
返回道具[道具名称]
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
如果len(sys.argv)<3:
打印“错误!用法为:getprop.py[propfile][propname]”
系统出口(1)
其他:
打印getpropvalue(sys.argv[1],sys.argv[2]);
这将阻止代码在导入时执行。将getprop.py更改为:
import sys
import util
def getpropvalue(propfile, propname):
props = util.loadprops(propfile)
if propname in props:
return props[propname]
if __name__ == '__main__':
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]);
导入系统
导入util
def getpropvalue(propfile,propname):
props=util.loadprops(propfile)
如果道具中的道具名称:
返回道具[道具名称]
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
如果len(sys.argv)<3:
打印“错误!用法为:getprop.py[propfile][propname]”
系统出口(1)
其他:
打印getpropvalue(sys.argv[1],sys.argv[2]);
这将阻止代码在导入时执行。预期结果是什么?请尝试:if name==“main”:然后following@SnakeFoot这是错误的有下划线,但不要渲染comments@SnakeFoot:在注释中使用反勾号以获取要呈现的下划线:
如果_uname _u=='\u u main:
预期结果是什么?请尝试:如果name==“main”:然后following@SnakeFoot这是错误的有下划线,但不要渲染comments@SnakeFoot:在注释中使用反勾号以获取要呈现的下划线:如果_uname__=='\u uu main__u':
感谢您的解释!谢谢你的解释!