文件操作
open 打开文件
# 打开文件的默认编码是GBK
rz = 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.312624
print(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+b
def diff(a,b):
return a-b
def 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 build
4、生成压缩包
在临时目录路径下执行:python setup.py sdist
5、观察目录结构,把生成的压缩包丢给别人即可
模块安装
1、Linux下
压缩包解压并进入解压文件夹
执行安装命令:python setup.py install
检查python的安装目录下的site-packages 是否有新安装的包
2、Windows下
复制压缩包到临时文件夹
在临时文件夹执行:pip install my_module-1.0.tar.gz
import引入包测试即可