文件操作
open 打开文件

# 打开文件的默认编码是GBKrz = open("./test.txt","w",encoding="utf-8")
rw 读写操作
rz = open("./test.txt","w",encoding="utf-8")rz.write("作者QQ:C")rz.close()rz = open("./test.txt","r",encoding="utf-8")print(rz.readline())print(rz.read())print(f.tell()) #查看当前游标位置print(rz.readlines())rz.close()
with 自动关闭
#不管文件处理过程是否发生异常,结束后自动关闭文件句柄def man(): with open("./test.txt","r",encoding="utf-8") as f: print(f.readlines())man()
备份文件案例
def copy_file(): file_name=input("请输入要备份的文件名:") file_list=file_name.split(".") file_name_new=file_list[0]+"_备份."+file_list[1] with open(file_name,"r",encoding="utf-8") as f: res=f.read() with open(file_name_new,"w",encoding="utf-8") as f: f.write(res)copy_file()
os 文件操作模块
os.rename 修改文件名
os.remove 删除文件
os.mkdir 创建文件夹
os.rmdir 删除文件夹
os.getcwd 获取当前目录
os.chdir 切换目录
os.path.join 路径拼接
import os os.rename('1.py','666.py') #修改文件名os.remove('3.py') #删除文件os.mkdir('gl') #创建文件夹os.rmdir('gl') #删除文件夹os.getcwd() #获取当前目录os.chdir('../') #切换目录path = os.path.join(os.getcwd(),'gl') #路径拼
time datetime 时间操作模块
time.sleep(s) 暂停多少秒
time.time() 时间戳

时间格式化符号
%y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999)%m 月份(01-12)%d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12)%M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称%A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称%c 本地相应的日期表示和时间表示 %j 年内的一天(001-366)%p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53)星期天为星期的开始%w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53)星期一为星期的开始%x 本地相应的日期表示%X 本地相应的时间表示 %Z 当前时区的名称%% %号本身
datetime 时间计算
import datetime #返回 2017-12-08 15:00:18.312624print(datetime.datetime.now())#时间戳直接(1512715165.0285344)转成日期格式 2017-12-08 print(datetime.date.fromtimestamp(time.time()))print(datetime.datetime.now() ) #当前时间+3天 print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间-3天 print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间+3小时 print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+30分.print(datetime.datetime.now() + datetime.timedelta(minutes=30))#当前时间+3小时30分. print(datetime.datetime.now() + datetime.timedelta(hours=3,minutes=30))
模块制作
避免测试代码在引用模块的时候调用
if __name__ == '__main__': print("这里放上测试代码")
限定模块中的方法
#仅允许模块中的add diff两个方法对外公开__all__ = ['add','diff']def add(a,b): return a+bdef diff(a,b): return a-bdef A() return "A"
import 导入模块
from time import * #导入time模块的所有函数,导入后可以直接使用函数名from time #导入time模块,使用的时候要 time.方法名 来调用函数
模块发布
1、将写好的.py包文件放到一个临时目录下2、目录下新建一个初始化脚本setup.py文件**************以下是代码************from distutils.core import setup # name 模块名称 # version 版本号 # description 描述 # author 作者 # py_modules 要发布的内容 setup(name="my_module", version="1.0", description="my module", author="lilei", py_modules=['test1.A', 'test1.B', 'test2.C', 'test2.D']) #py_modules可以引用模块也可以直接引用模块中的方法**************以上是代码************3、创建模块在临时目录路径下执行:python setup.py build4、生成压缩包在临时目录路径下执行:python setup.py sdist5、观察目录结构,把生成的压缩包丢给别人即可

模块安装
1、Linux下 压缩包解压并进入解压文件夹 执行安装命令:python setup.py install 检查python的安装目录下的site-packages 是否有新安装的包2、Windows下 复制压缩包到临时文件夹 在临时文件夹执行:pip install my_module-1.0.tar.gzimport引入包测试即可