- 论坛徽章:
- 1
|
本帖最后由 jd808 于 2011-12-15 16:40 编辑
刚我打印了一下
print(__name__)
if(__name__=="__main__"):
__name="__main__"
eclipse 的是两次都是server
命令行的是一次server 一次__main__,应该是eclipse设置又问题把,要如何调整?
断点发现一执行(opt, args) = parser.parse_args()这个语句,就跳到头部重新执行一便了,如果没这个语句好像就只执行一遍
我把__name__强制赋值__name__="__main__",断点执行一次,这是下面的第一次错误内容
pydev debugger: starting
Finding files... done.
Importing test modules ... __main__
Usage: runfiles.py [options]
runfiles.py: error: no such option: --port
下面是全部的
pydev debugger: starting
Finding files... done.
Importing test modules ... __main__
Usage: runfiles.py [options]
runfiles.py: error: no such option: --port
__main__ 这里又打印了,说名又执行了一次,但这次调用parse_args没有返回到最头部重新执行,而是继续到底了
Usage: runfiles.py [options]
runfiles.py: error: no such option: --port
Traceback (most recent call last):
File "/media/_work/软件/eclipse/plugins/org.python.pydev.debug_2.2.4.2011110216/pysrc/pydev_runfiles.py", line 307, in __get_module_from_str
mod = __import__(modname)
File "/media/_work/workspace/python_test/server.py", line 147, in <module>
(opt, args) = parser.parse_args()
File "/usr/lib/python2.6/optparse.py", line 1383, in parse_args
self.error(str(err))
File "/usr/lib/python2.6/optparse.py", line 1565, in error
self.exit(2, "%s: error: %s\n" % (self.get_prog_name(), msg))
File "/usr/lib/python2.6/optparse.py", line 1555, in exit
sys.exit(status)
SystemExit: 2
ERROR: Module: server could not be imported (file: /media/_work/workspace/python_test/server.py).
done.
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
从结果看,好像是eclipse传递给程序的参数不全,或者是参数不正确,但我在eclipse里也没发现哪里又设置的呀,在说在终端python server.py
这样执行也没传入参数呢
望大侠讲解下他的执行过程 |
|