编程的好东西啊。
Twisted是python的一个网络编程框架,支持很多的网络协议,在安装好了Twisted的之后,在windows下可以直接在程序->Twisted->Twisted Command Prompt,直接进入Twisted的命令行状态,这个命令行会直接帮忙设置好系统的环境变量。我们在这个命令行下,可以直接使用twistd这个命令运行.tac的文件。

但是今天我运行文件的时候总是碰到错误,例如:
exceptions.NameError: global name 'config' is not defined
Failed to load application: global name 'config' is not defined

其实是在执行的tac文件中,import了一个config.py文件
这两个文件是在同一个目录下的,可是就怎么样不能在tac文件中导入config.py文件。

最后使用这个方法解决的:
import sys
sys.path.append('.')

也就是在系统环境PATH中加入一个".",来让程序查找当前目录,这样就把config.py导入了。不过很奇特的,一般文件搜索顺序应该是先找当前目录,找不到才会去找其他目录的。如果谁知道这个问题其他的解决办法。请给我留言。本文由ArthurXF倾情奉献!
Tags: ,
Twisted是python的一个网络编程框架,支持很多的网络协议,在安装好了Twisted的之后,在windows下可以直接在程序->Twisted->Twisted Command Prompt,直接进入Twisted的命令行状态,这个命令行会直接帮忙设置好系统的环境变量。我们在这个命令行下,可以直接使用twistd这个命令运行.tac的文件。

但是今天我运行文件的时候总是碰到错误,例如:
exceptions.NameError: global name 'config' is not defined
Failed to load application: global name 'config' is not defined

其实是在执行的tac文件中,import了一个config.py文件
这两个文件是在同一个目录下的,可是就怎么样不能在tac文件中导入config.py文件。

最后使用这个方法解决的:
import sys
sys.path.append('.')

也就是在系统环境PATH中加入一个".",来让程序查找当前目录,这样就把config.py导入了。不过很奇特的,一般文件搜索顺序应该是先找当前目录,找不到才会去找其他目录的。如果谁知道这个问题其他的解决办法。请给我留言。本文由ArthurXF倾情奉献!
Tags: ,
  在PHP中有一个魔法常量__file__,里面保存着当前PHP文件所在的路径和文件名。
  在PYTHON中导入一些模块后也有__file__变量,不过问题是该模块本身并不能使用这个变量,所以要在py文件中调用文件所在的目录就是个问题了。

Python中可以使用os.getcwd()函数获得获取程序运行目录:
os.getcwd()
该函数不需要传递参数,它返回程序运行目录。需要说明的是,程序运行目录并不是指脚本所在的目录,而是当前命令行状态所在的目录。
例如:
>>> import os
>>> os.getcwd()
'C:\\Python25'

>>> os.chdir(r'C:\temp')
>>> os.getcwd()
'C:\\temp'

上面的那个函数并不是我们想要的,我们要的是取的当前脚本文件所在目录,正确的是下面这段。
os.path.split( os.path.realpath( sys.argv[0] ) )[0]

为了这个问题我找了一整天的资料呢,希望对大家有些帮助,本文由ArthurXF倾情奉献!
Tags: ,
  在PHP中有一个魔法常量__file__,里面保存着当前PHP文件所在的路径和文件名。
  在PYTHON中导入一些模块后也有__file__变量,不过问题是该模块本身并不能使用这个变量,所以要在py文件中调用文件所在的目录就是个问题了。

Python中可以使用os.getcwd()函数获得获取程序运行目录:
os.getcwd()
该函数不需要传递参数,它返回程序运行目录。需要说明的是,程序运行目录并不是指脚本所在的目录,而是当前命令行状态所在的目录。
例如:
>>> import os
>>> os.getcwd()
'C:\\Python25'

>>> os.chdir(r'C:\temp')
>>> os.getcwd()
'C:\\temp'

上面的那个函数并不是我们想要的,我们要的是取的当前脚本文件所在目录,正确的是下面这段。
os.path.split( os.path.realpath( sys.argv[0] ) )[0]

为了这个问题我找了一整天的资料呢,希望对大家有些帮助,本文由ArthurXF倾情奉献!
Tags: ,
  学习python,首要学会加载python的模块,其实这个命令很简单,就是import 模块名,这个命令很像php的require,加载了模块,我们就可以使用模块内的类函数等,一般我们操作都是在命令行状态下测试的,随着我们不断的import模块进来,加载的模块就越来越多了,会不会对我们的程序造成影响就不得而知了,所以我们必须将加载的模块释放掉。释放命令也很简单,就是del 模块名。这样我们就把加载的模块释放掉了。不用每次都把命令行状态窗口关掉,再开了。本文由ArthurXF倾情奉献!
Tags: , ,
分页: 1/3 第一页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]