Python(6):模块和包

来源:互联网 发布:sql清空表中记录 编辑:程序博客网 时间:2024/06/06 07:41

===========================模块===========================
1.Python把py文件叫做模块。


2.使用模块需要引入,例如:
import sys


3.导入模块需要设置路径。
>>> import sys>>> print(sys.path)['', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\Lib\\idlelib', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages']

sys.path是Python导入模块时候搜索的目录。可以看出,包含了当前目录。
这个当前目录就是启动程序的那个目录。如果是使用shell。应该是shell的运行文件的目录。
如果要加入其它的目录,可以通过append或者extend添加到sys.path里面。


4.如果用命令行启动Python程序,是可以传入参数列表的。
argv是argument vector的缩写。
参数列表保存在sys.argv
我现在直接用自带的IDLE来测试的,本来想想Visual Studio一样,可以设置命令行参数。
但是找不到,百度一下说没有这项设置,命令行参数只是几段文本,可以自己填
sys.argv =[sys.argv[0],'argument1','argument2','argument2']
调试好后整句加个#注解掉就ok。
通常情况,第一个参数是默认自带的,这个程序的绝对路径。不需要自己去输入。其他输入都是从第二个位置开始的。
或者直接用cmd来启动也可以


5.from xxx.xx.x import xxxx
可以直接使用模块内的函数,而不需要再这么麻烦使用域名。


===========================包===========================
包:
把相关联的模块放在一起,可以通过引入包同时引入了包内的多个模块。
包下有__init__.py文件,一看就知道这是包内部自己使用的。
这个文件提示Python,这是个包目录,而不是普通的目录。指定了包内文件的使用方式。
有些编辑器是会自动生成这个文件的。我记得用sublime的时候好像是没有生成的,后来运行了就会自动生成了。可能编译器也会自动生成吧。
导入包的时候,只计算__init__.py。如果这个文件是空白的,是不能使用包内的模块的。还需要在这个文件里面写导入语句。


Python代码编译后,会生成对应的pyc文件。应该是中间文件。
sys.modules 可以看到已经加载的模块


1 0