当前位置:首页 » 编程语言 » pythonmain函数

pythonmain函数

发布时间: 2022-07-25 05:24:21

Ⅰ 如何调用一个python模块的main函数

f main():
print 'test ok'

if __name__ = "__main__":
main()

# test2.py
import test
test.main()

Ⅱ python 怎么写main 函数

print'main'当脚本作为执行脚本时__name__的值为__main__当脚本作为模块时__name__为模块文件名。

Ⅲ python 中的if __name__=='__main__': main()是什么 意思呢

一个 Python 源码文件除了可以被直接运行外,还可以作为模块(也就是库)被导入。不管是导入还是直接运行,最顶层的代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入的时候,有一部分代码我们是不希望被运行的。

if __name__ == '__main__'就相当于是 Python模拟的程序入口。Python 本身并没有规定这么写,这只是一种编码习惯。由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个。到底哪个入口程序被选中,这取决于__name__的值。

举例子说明一下,假设有一个 const.py 文件,内容如下:

PI = 3.14

def main():

print "PI:", PI

main()

(3)pythonmain函数扩展阅读

如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行。实际上,这个问题还可以衍生出其他的一些知识点,例如__main__.py文件与 Python 的-m参数。

输出结果只列出了关键的部分,应该很容易看出他们之间的差异。直接运行是把 run.py 文件所在的目录放到了 sys.path 属性中。以模块方式运行是把你输入命令的目录(也就是当前工作路径),放到了 sys.path 属性中。

Ⅳ 如何理解python中的main函数

这个脚本被执行的时候,__name__ 值就是 __main__ ,才会执行 main()函数 如果这个脚本是被 import 的话,__name__的值不一样。main()函数就不会被调用。 这个句子用来写既能直接运行,又能给其他python程序import,提供库调用的脚本

Ⅳ python怎么调用c的main函数

if
__name__=="__main__":
print
'main'
当脚本作为执行脚本时__name__的值为__main__当脚本作为模块时__name__为模块文件名。举个例子,a.py作为执行脚本时__name__的值是__main__。有2个脚本,a.py和b.py,a中引入b,执行a.py时,在b中模块的__name__就是b.py

Ⅵ python中main()可不可以换成别的名字

- - 楼上……
==========================
完全不需要main。你可以换成你喜欢的名字。

由于python是以缩进来判断程序段,完全不需要main来指导程序首先执行模块。
对于任意一个py文件(也是模块),在执行或者import的时候会自动执行没有缩进的代码。这部分代码就相当于main了。

一般,一个py文件(模块),按找一下顺序:首先是文字编码说明和注释,然后是各种类和方法的定义(def 、class),最后是没有缩进的部分,也就是导入时自动执行的部分。你可以把这个模块的一些初始化的代码加入其中。

python唯一涉及main的地方(和你问的main完全不是一个意思)是判断模块是直接运行还是导入运行。区别在于内置属性__name__。当一个模块是直接运行时,__name__就等于__main__,如果它是作为一般模块被导入时,__name__就是模块本身的名字。

python中常常在模块中定义一个测试用的方法test(),在需要测试的时候调用mole.test()测试用。但是,在最后常常有以下代码,这部分和其他语言的main()是一个意思:
if __name__ == '__main__':
_test()

也就是在执行的时候调用test方法。所以对于python而言,根本不需要main(),只要把要调用的方法换成你自己的主程序名字的可以了,而名字可以是任意名字!
在调用这个程序时:
#>python myfile.py
就会执行满足条件,执行代码。(注意这里#>指linux下的root权限,windows在命令提示行下则是c:\program files\python26>这样的提示符。)
如果是
>>>import myfile 则不会。(这里>>>是在python里面输入)

综上,正常的python里面根本没有main(),不知道你从哪里看到的。
希望你继续使用python,这是一致简洁方便规范的语言!

Ⅶ python main函数有什么用

print'main'当脚本作为执行脚本时__name__的值为__main__当脚本作为模块时__name__为模块文件名。

  • main函数在程序中大多数是必须存在的。C语言标准中强制要求main函数的返回值类型为int,main函数的返回值是传递给操作系统,让操作系统判断程序的执行情况。

  • 一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main 函数”,也就是“主函数”。比如有个“做菜”程序,那么“ 做菜 ”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。

  • main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库模块,这是其他windows程序可以使用的代码。由于DLL模块不是独立的程序,因此不需要main函数。

  • 从函数的形势看,函数分两类:

  • 无参函数。printstar和print_message就是无参函数。在调用无参函数时,主调函数并不将数据传送给被调用函数,一般用来执行指定的一组操作。

  • 有参函数。在调用函数时,在主调函数和被调用函数之间有数据传递。也就是说,主调函数可以将数据传递给被调用函数使用,被调用函数中的数据也可以带回来供主调函数使用。

Ⅷ 为什么电脑上的PYTHON运行main指令会报错

if name == '__main__': 相当于一个新的函数,在这个函数里,你调用了main()函数,并传入了args参数,但是在if name == '__main__': 这个函数域内,你并没有定义args,所以报错

Ⅸ python主函数怎么写

一般来说,Python程序员可能是这样写main()函数的:
"""Mole docstring.

This serves as a long usage message.
"""import sysimport getoptdef main():
# parse command line options
try:
opts, args = getopt.getopt(sys.argv[1:], "h", ["help"]) except getopt.error, msg: print msg print "for help use --help"
sys.exit(2) # process options
for o, a in opts: if o in ("-h", "--help"): print __doc__
sys.exit(0) # process arguments
for arg in args:
process(arg) # process() is defined elsewhereif __name__ == "__main__":
main()

Guido也承认之前自己写的main()函数也是类似的结构,但是这样写的灵活性还不够高,尤其是需要解析复杂的命令行选项时。为此,他向大家提出了几点建议。
添加可选的 argv 参数
首先,修改main()函数,使其接受一个可选参数 argv,支持在交互式shell中调用该函数:
def main(argv=None):
if argv is None:
argv = sys.argv # etc., replacing sys.argv with argv in the getopt() call.1234

这样做,我们就可以动态地提供 argv 的值,这比下面这样写更加的灵活:
def main(argv=sys.argv):
# etc.12

这是因为在调用函数时,sys.argv 的值可能会发生变化;可选参数的默认值都是在定义main()函数时,就已经计算好的。
但是现在sys.exit()函数调用会产生问题:当main()函数调用sys.exit()时,交互式解释器就会推出!解决办法是让main()函数的返回值指示退出状态(exit status)。因此,最后面的那行代码就变成了这样:
if __name__ == "__main__":
sys.exit(main())12

并且,main()函数中的sys.exit(n)调用全部变成return n。
定义一个Usage()异常
另一个改进之处,就是定义一个Usage()异常,可以在main()函数最后的except子句捕捉该异常:
import sysimport getoptclass Usage(Exception):
def __init__(self, msg):
self.msg = msgdef main(argv=None):
if argv is None:
argv = sys.argv try: try:
opts, args = getopt.getopt(argv[1:], "h", ["help"]) except getopt.error, msg: raise Usage(msg) # more code, unchanged
except Usage, err: print >>sys.stderr, err.msg print >>sys.stderr, "for help use --help"
return 2if __name__ == "__main__":
sys.exit(main())

这样main()函数就只有一个退出点(exit)了,这比之前两个退出点的做法要好。而且,参数解析重构起来也更容易:在辅助函数中引发Usage的问题不大,但是使用return 2却要求仔细处理返回值传递的问题。

热点内容
编译宏是什么意思 发布:2025-01-27 14:07:44 浏览:422
withassql嵌套 发布:2025-01-27 13:57:41 浏览:939
探歌选哪个配置性价比高些 发布:2025-01-27 13:55:41 浏览:705
IR实现编译器 发布:2025-01-27 13:30:38 浏览:459
android图片过大 发布:2025-01-27 13:30:34 浏览:426
公司服务器怎么搭建网站 发布:2025-01-27 13:24:43 浏览:920
光可以存储 发布:2025-01-27 13:14:47 浏览:676
手机网盘加密文件 发布:2025-01-27 13:11:43 浏览:694
唐山有线机顶盒密码是多少 发布:2025-01-27 13:10:25 浏览:251
如何让电脑上拥有移动式服务器 发布:2025-01-27 13:04:46 浏览:67