Python使用细节及建议
来源:互联网 发布:网络延时查看 编辑:程序博客网 时间:2024/05/17 01:58
Python模块:
重新载入模块:
在Python2.X中,可以通过内置函数reload重新载入模块。reload可以在模块被修改的情况下不必关闭Python而重新载入模块。在使用reload重载入模块时,该模块必须事先已经被导入。
在Python3.X中,reload函数已经被删除,要重新再入模块,则必须使用imp模块中的reload函数(如:imp.reload(os) #重新载入os模块)。
Python在哪里查找模块?
编写好的模块只有被Python找到才能被导入。
在导入模块时,Python解释器首先在当前目录中查找要导入的模块。如果未找到模块,则Python解释器会从sys模块中path变量指定的目录中查找导入模块。如果在以上所有目录中都未找到导入的模块,则会输出出错信息。
在脚本中可以向sys.path添加模块查找路径:
例如:
import osimport sysmodulepath=os.getcwd()+'\\module' #将当前目录下的module子目录添加到sys.path中sys.path.append(modulepath)print(sys.path)import mymodule #从moudle目录中导入mymoudle模块
是否需要编译模块:
当调用或运行完一个模块后,当前目录下会生成一个编译成的字节码文件(.pyc)。
虽然Python是脚本语言,但Python可以将脚本语言编译成字节码的形式。对于模块,Python总是在第一次调用后就将其编译成字节码文件,以提高脚本的启动速度。
对于非模块的脚本,Python不会在运行脚本后将其编译成字节码的形式。如果想将其编译,可以使用py_compile模块:
例如:
#file:bianyi.py#import py_compile #导入py_compile模块py_compile.compile('usemodule.py','usemodule.pyc') #编译 usemodule.py
注意:在Python3中,如果在py_compile.compile函数中不指定第2个参数,则在当前目录新建一个名为“pycache”的目录,并在这个目录中生成“被编译模块名.cpython-32.pyc”的pytc字节码文件。
脚本优化编译:
可以通过Python的命令行选项将脚本优化编译。Python编译的优化选项有两个:
-O 该选项对脚本的优化不多,编译后的脚本以“.pyo”为扩展名。凡是以“.pyo”为扩展名的Python字节码都是经过优化的。
-OO 该选项对脚本的优化的程度很大。使用该标志可以使编译的Python脚本更小。使用该选项可以导致脚本运行错误,因此,谨慎使用。
例如:
>>>python -O compile.py>>>python -OO compile.py
如何查看模块提供的函数名:
使用内置函数dir()来查看
dir([object]) #object 可选参数,要列举的模块名
例如:
>>>import os >>>dir(os) #获得os模块中的名字和函数或者: >>>dir() #获得当前脚本中所有名字列表
Psyco:
用 Psyco 让 Python 运行得像 C 一样快。
这玩意儿没用过,只是听说过,以后用到了再学习补充。
参考文章:
https://www.ibm.com/developerworks/cn/linux/sdk/python/charm-28/
Python列表
从列表中创建集合是Python语言得到列表中唯一元素值的最快方法。
a = [1,2,3,3,4,5,5,5,5,6]b = set(a)b
- Python使用细节及建议
- python urllib2使用细节
- PowerDesigner使用及建议
- PowerDesigner使用及建议
- Python 字典(dict)细节及注意事项
- Python编码及项目相关建议
- Python 标准库 urllib2 的使用细节
- Python 标准库 urllib2 的使用细节
- Python 标准库 urllib2 的使用细节
- python urllib2库 的使用细节
- Python 标准库 urllib2 的使用细节
- Python 标准库 urllib2 的使用细节
- Python 标准库 urllib2 的使用细节
- Python 标准库 urllib2 的使用细节
- Python 标准库 urllib2 的使用细节
- Python 标准库 urllib2 的使用细节
- Python 标准库 urllib2 的使用细节
- Python 标准库 urllib2 的使用细节
- 正确配置java jdk环境变量方式 及 配置tomcat后执行startup.bat闪退原因分析
- QT学习之路十六(QWebView实现简易浏览器)
- 监督学习与非监督学习的区别
- 面试题4:替换空格
- iOS学习之路--通过APP边学编写(一)确定APP的实现目标
- Python使用细节及建议
- 关于RA编译的一些问题记录
- 初学者:intellij idea使用maven对 jar包自动加载
- C语言数据类型
- 一句话暴露程序员偷懒心理
- 0526 CF#801A&G2n#D-Straight «A»
- Vmware + Ubuntu 16 安装Tensorflow
- #ifndef 与 #pragma once作用及区别
- python——网络编程