模块英文为Modules
函数与模块的关系
使用模块的好处
创建模块
新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同
导入模块
以主程序形式运行
在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其它程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__
作用:
代码规范
避免模块名称冲突
包与目录的区别
包含__init__.py文件的目录称为包
目录里通常不包含__init__.py文件
包的导入
import math #关于数学运算
print(id(math))
print(type(math))
print(math)
print(math.pi)
print('----------------------------------------')
print(dir(math))
print(math.pow(2,3),type(math.pow(2,3)))
print(math.ceil(9.001))
print(math.floor(9.9999))
from math import pi
from math import pow
print(pi)
print(pow(2,3))
常见的字符编码格式
file=open('a.txt','r')
print(file.readlines())
file.close()
file=open('b.txt','a')
file.write('Python')
file.close()
文件的类型
文本文件 :存储的是普通“字符”文本,默认为unicode字符集,可以使用记本事程序打开
二进制文件:把数据内容用“字节”进行存储,无法用记事本打开,必须使用专用的软件打开 ,举例:mp3音频文件,jpg图片 .doc文档等
file=open('c.txt','a')
#file.write('hello')
lst=['java','go','python']
file.writelines(lst)
file.close()
with open('logo.png','rb') as src_file:
with open('copy2logo.png','wb') as target_file:
target_file.write(src_file.read())
import os
print(os.getcwd())
lst=os.listdir('../chap15')
print(lst)
#os.mkdir('newdir2')
#os.makedirs('A/B/C')
#os.rmdir('newdir2')
#os.removedirs('A/B/C')
os.chdir('E:\\vippython\\chap15')
print(os.getcwd())
import os
path=os.getcwd()
lst_files=os.walk(path)
for dirpath,dirname,filename in lst_files:
'''print(dirpath)
print(dirname)
print(filename)
print('-------------------------------------')'''
for dir in dirname:
print(os.path.join(dirpath,dir))
for file in filename:
print(os.path.join(dirpath,file))
print('----------------------------------')