草庐IT

main_script

全部标签

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 - 如何在 script.py 中调用特定的 Python 版本 -- Windows

我应该在script.py的顶部放置哪一行文本来调用我需要使用的特定Python版本?我在WindowsXP上有两个版本的Python,2.6.5和2.7.2。它们每个都有自己的特殊模块,并由单独的应用程序安装。我的脚本放在桌面上,方便双击运行。问题是我的所有脚本都调用了2.6.5,这对于使用随2.6.5安装的模块的脚本来说没问题,但我的用于2.7.2的脚本无法运行。他们在没有我需要导入的模块的情况下调用Python2.6.5。我试过在没有和没有#!在需要时调用2.7.2,但要么是我的语法错误,要么就是无法在Windows下指定。谁能告诉我需要添加到我的脚本中的行的准确语法。2.7.2

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 - 为什么这样做?如果 - __name__ == '__main__'

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

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 - 网络驱动程序异常 :can't load profile error in selenium python script

我在python中使用seleniumwebdriver来自动驱动Firefox,python脚本是从Firefox中的seleniumIDE附加组件导出的。但是当我运行脚本时它会引发错误:======================================================================ERROR:test_selenium(__main__.SeleniumTest)----------------------------------------------------------------------Traceback(mostrecen

python - `uwsgi_modifier1 30` 指令没有按照记录从 PATH_INFO 中删除 SCRIPT_NAME

这是我的nginx虚拟主机配置。debian:~#cat/etc/nginx/sites-enabled/myboxserver{listen8080;root/www;indexindex.htmlindex.htm;server_namemybox;location/foo{uwsgi_passunix:/tmp/uwsgi.sock;includeuwsgi_params;uwsgi_paramSCRIPT_NAME/foo;uwsgi_modifier130;}}这是我的WSGI应用程序的源代码。debian:~#cat/www/app.pydefapplication(env

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

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

python - 更改用于打包的 console_script 入口点解释器

我正在使用众所周知的第三方打包系统打包一些python包,但我遇到了入口点创建方式的问题。当我在我的机器上安装入口点时,入口点将包含一个指向任何python解释器的shebang,如下所示:在/home/me/development/test/setup.pyfromsetuptoolsimportsetupsetup(entry_points={"console_scripts":['some-entry-point=test:main',]})在/home/me/.virtualenvs/test/bin/some-entry-point:#!/home/me/.virtualen

Windows 上的 python 多处理,如果 __name__ == "__main__"

在Windows7(64位)上运行python2.7。在阅读库模块multiprocessing的文档时,它多次声明了__main__模块的重要性,包括条件(尤其是在Windows中):if__name__=="__main__":#createProcess()here我的理解是,您不想在模块的全局命名空间中创建Process()实例(因为当子进程导入模块时,他会无意中产生另一个)。不过,我不必将流程管理器放在包执行层次结构的最顶层(在PARENT中执行)。只要我的Process()是在类方法中创建、管理和终止的,甚至是在函数闭包中。只是不在顶层模块命名空间中。我是否正确理解此警告/