文件操作

open 打开文件

文件操作与模块制作 - 图1

  1. # 打开文件的默认编码是GBK
  2. rz = open("./test.txt","w",encoding="utf-8")

rw 读写操作

  1. rz = open("./test.txt","w",encoding="utf-8")
  2. rz.write("作者QQ:C")
  3. rz.close()
  4. rz = open("./test.txt","r",encoding="utf-8")
  5. print(rz.readline())
  6. print(rz.read())
  7. print(f.tell()) #查看当前游标位置
  8. print(rz.readlines())
  9. rz.close()

with 自动关闭

  1. #不管文件处理过程是否发生异常,结束后自动关闭文件句柄
  2. def man():
  3. with open("./test.txt","r",encoding="utf-8") as f:
  4. print(f.readlines())
  5. man()

备份文件案例

  1. def copy_file():
  2. file_name=input("请输入要备份的文件名:")
  3. file_list=file_name.split(".")
  4. file_name_new=file_list[0]+"_备份."+file_list[1]
  5. with open(file_name,"r",encoding="utf-8") as f:
  6. res=f.read()
  7. with open(file_name_new,"w",encoding="utf-8") as f:
  8. f.write(res)
  9. copy_file()

os 文件操作模块

os.rename 修改文件名

os.remove 删除文件

os.mkdir 创建文件夹

os.rmdir 删除文件夹

os.getcwd 获取当前目录

os.chdir 切换目录

os.path.join 路径拼接

  1. import os
  2. os.rename('1.py','666.py') #修改文件名
  3. os.remove('3.py') #删除文件
  4. os.mkdir('gl') #创建文件夹
  5. os.rmdir('gl') #删除文件夹
  6. os.getcwd() #获取当前目录
  7. os.chdir('../') #切换目录
  8. path = os.path.join(os.getcwd(),'gl') #路径拼

time datetime 时间操作模块

time.sleep(s) 暂停多少秒

time.time() 时间戳

文件操作与模块制作 - 图2

时间格式化符号

  1. %y 两位数的年份表示(00-99 %Y 四位数的年份表示(000-9999)%m 月份(01-12
  2. %d 月内中的一天(0-31 %H 24小时制小时数(0-23 %I 12小时制小时数(01-12
  3. %M 分钟数(00=59 %S 秒(00-59 %a 本地简化星期名称
  4. %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称
  5. %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366
  6. %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53)星期天为星期的开始
  7. %w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53)星期一为星期的开始
  8. %x 本地相应的日期表示%X 本地相应的时间表示 %Z 当前时区的名称%% %号本身

datetime 时间计算

  1. import datetime
  2. #返回 2017-12-08 15:00:18.312624
  3. print(datetime.datetime.now())
  4. #时间戳直接(1512715165.0285344)转成日期格式 2017-12-08
  5. print(datetime.date.fromtimestamp(time.time()))
  6. print(datetime.datetime.now() )
  7. #当前时间+3天
  8. print(datetime.datetime.now() + datetime.timedelta(3))
  9. #当前时间-3天
  10. print(datetime.datetime.now() + datetime.timedelta(-3))
  11. #当前时间+3小时
  12. print(datetime.datetime.now() + datetime.timedelta(hours=3))
  13. #当前时间+30分.
  14. print(datetime.datetime.now() + datetime.timedelta(minutes=30))
  15. #当前时间+3小时30分.
  16. print(datetime.datetime.now() + datetime.timedelta(hours=3,minutes=30))

模块制作

避免测试代码在引用模块的时候调用

  1. if __name__ == '__main__':
  2. print("这里放上测试代码")

限定模块中的方法

  1. #仅允许模块中的add diff两个方法对外公开
  2. __all__ = ['add','diff']
  3. def add(a,b):
  4. return a+b
  5. def diff(a,b):
  6. return a-b
  7. def A()
  8. return "A"

import 导入模块

  1. from time import * #导入time模块的所有函数,导入后可以直接使用函数名
  2. from time #导入time模块,使用的时候要 time.方法名 来调用函数

模块发布

  1. 1、将写好的.py包文件放到一个临时目录下
  2. 2、目录下新建一个初始化脚本setup.py文件
  3. **************以下是代码************
  4. from distutils.core import setup
  5. # name 模块名称
  6. # version 版本号
  7. # description 描述
  8. # author 作者
  9. # py_modules 要发布的内容
  10. setup(name="my_module", version="1.0", description="my module",
  11. author="lilei", py_modules=['test1.A', 'test1.B', 'test2.C', 'test2.D'])
  12. #py_modules可以引用模块也可以直接引用模块中的方法
  13. **************以上是代码************
  14. 3、创建模块
  15. 在临时目录路径下执行:python setup.py build
  16. 4、生成压缩包
  17. 在临时目录路径下执行:python setup.py sdist
  18. 5、观察目录结构,把生成的压缩包丢给别人即可

文件操作与模块制作 - 图3

模块安装

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