草庐IT

lib_main

全部标签

python - Python 脚本必须将函数定义为 main 吗?

Python脚本必须/应该有一个main()函数吗?例如是否可以替换if__name__=='__main__':main()与if__name__=='__main__':entryPoint()(或其他一些有意义的名称) 最佳答案 使用名为main()的函数只是一种约定。你可以给它任何你想要的名字。测试模块名称​​只是一个很好的技巧,可以防止代码在您的代码未作为__main__模块执行时运行(即不作为脚本导入时Python开始于,但作为模块导入)。您可以在该if测试下运行您喜欢的任何代码。在这种情况下使用函数有助于通过将名称分流

python - "global"和 "import __main__"之间的区别

我定义了三个函数来更改全局变量x。defchangeXto1():globalxx=1defchangeXto2():from__main__importxx=2defchangeXto3():import__main____main__.x=3x=0printxchangeXto1()printxchangeXto2()printxchangeXto3()printx它给出了结果:0113changeXto1使用普通的全局语句。结果符合预期x==1。changeXto2使用from__main__import来处理x。这是行不通的。之后x仍然是1。changeXto3使用import

python - 为什么 'unittest.main()' 执行后 python 不执行任何操作?

假设我有以下内容:importunittestclassMyTests(unittest.TestCase):deftest001(self):print'Thisistest001'deftest002(self):print'Thisistest002'if__name__=='__main__':unittest.main()print'Done'输出是:>>Thisistest001>>Thisistest002>>---------------------------------------------------------------------->>Ran2testsi

python - 如何告诉 Python 更喜欢来自 $HOME/lib/python 的模块而不是/usr/lib/python?

在Python中,我收到一个错误,因为它正在从/usr/lib/python2.6/site-packages加载一个模块,但我希望它在中使用我的版本>$HOME/python-modules/lib/python2.6/site-packages,我使用pip-python--install-option="--prefix=$HOME/python-modules--忽略安装如何让Python使用我的库版本?将PYTHONPATH设置为$HOME/python-modules/lib/python2.6/site-packages没有帮助,因为/usr/lib/...显然有优先权。

python - Mac OS X Lion Python Ctype CDLL 错误 lib.so.6 : image not found

我是Python初学者。当我在MacOSXLion上使用类型库尝试以下Python示例代码时:#hello.pyfromctypesimport*cdll.LoadLibrary("libc.so.6")libc=CDLL("libc.so.6")message_string="HelloWorld!HelloPython!\n"libc.printf("Testing:%s",message_string)//出现如下错误:Traceback(mostrecentcalllast):File"cprintf.py",line2,incdll.LoadLibrary("libc.so.

python - 为什么这样做?如果 - __name__ == '__main__'

这个问题在这里已经有了答案:关闭10年前。Duplicateof:Whatdoesif__name__=="__main__"do?考虑这段代码:if__name__=='__main__':importpdbpdb.run("interact()\n")下面一行是什么意思?if(__name__=='__main__')我晕倒了。

python - wxPython wx.lib.plot.PlotCanvas 错误

我正在制作一个非常简单的绘图wxApp。我已经安装了Python2.7.9和wxPython3.0.2这是我的代码:importwximportwx.lib.plotasplotclassPantalla(wx.Frame):def__init__(self):app=wx.App()self.frame1=wx.Frame(None,title="GRAFICADOR",id=-1,size=(500,500))self.panel1=wx.Panel(self.frame1)self.panel1.SetBackgroundColour("white")plotter=plot.P

python - 与 main 一起终止 GObject.Mainloop() 线程

我有以下两个线程:myThread=threading.Thread(target=sender.mainloop.run,daemon=True)myThread.start()myThread2=threading.Thread(target=receiver.mainloop.run,daemon=True)myThread2.start()目标是GObject.Mainloop()方法。之后我的主程序陷入无限循环。我的问题是,当执行被CTRL-C终止时,两个线程都会引发键盘异常,但主程序不会终止。有什么想法可以让CTRL-C终止主程序和两个线程吗?

python - 使用 if __name__ == '__main__' : for tests

当您编写一些自给自足的脚本时,使用if__name__=='__main__'作为编写测试的地方是不是一个坏主意? 最佳答案 这实际上取决于您的代码和脚本的目的。对于大型和复杂的项目,您肯定必须将所有测试放在一个单独的地方。但是在处理一些小的事情时,将测试与代码一起进行可能是一个很好的解决方案-这是doctest的主要思想(这是一个很棒的Python模块,允许您在文档字符串中编写测试)。在这种情况下,您的if__name__=='__main__'将如下所示:if__name__=="__main__":importdoctestd

Python:导入错误:/usr/local/lib/python2.7/lib-dynload/_io.so: undefined symbol :PyUnicodeUCS2_Replace

我正在尝试构建一个简单的Python脚本,该脚本将从URL中获取数据并将其保存到服务器上。考虑以下代码:#!/usr/bin/pythonimportpprintimportjsonimporturllib2defgetUSGS_json():print"FetchdatafromURL"fileName='data/usgsEarthquacks_12Hrs.json'url='http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson'data=urllib2.urlopen(url).read(