python学习笔记二:时间&文件目录操作

文章目录

  • 时间的处理
  • 文件操作
    • 读取大文件
  • 对文件和目录的常用操作


时间的处理

  1. 时间戳
import time 

ticks = time.time() 
  1. 当地时间
# 获取当地时间
# 返回的是一个时间元组
local_time = time.localtime()
print local_time

输出为:

time.struct_time(tm_year=2020, tm_mon=2, tm_mday=5, tm_hour=21, tm_min=3, tm_sec=10, tm_wday=2, tm_yday=36, tm_isdst=0)

分别是年, 月, 日, 小时, 分钟, 秒, 周几, 一年中的哪一天, 夏令时

  1. 格式化时间为自定义字符串
  • time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),即:
    2020-02-05 21:22:19
  • 还有最简单的可读模式
    time.asctime(time.localtime(time.time()))
    即:
    Wed Feb 5 21:22:19 2020

可以使用的格式化符号

%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 当前时区的名称
%% %号本身

一个轻便的第三方库arrow,处理时间更人性化,更方便


文件操作

文件操作无非是打开文件; 读写文件; 关闭文件
使用open; write,read;close函数

1. 打开文件病写入
file_ = open("file_test", "w")   写入文件, w权限会将文件指针移动到文件首, 清空文件内容
file_.write("hello world!\n")   写入

2. 读取文件
file_ = open("file_test", "r")  以只读权限打开文件
str_0 = file_.read(10)		只读取十个字节,可以不指定读取大小, 默认全部读取
str_1 = file_.readline()		一次读一行

3. 记得close
刷新文件缓冲区

读取大文件

使用with as结构, 会提供一个可迭代对象, 他会自动使用缓冲IO和内存管理,

with open("file_test") as file_:
    for line in file_:
        do something

with处理的对象必须有一个enter()方法, 一个exit()方法
紧跟with后面的语句被求值后,返回对象的enter()方法被调用,这个方法的返回值将被赋值给as后面的变量。当with后面的代码块全部被执行完之后,将调用前面返回对象的exit()方法

对文件和目录的常用操作

  1. 运行shell命令
    os.system()

  2. 删除指定文件
    os.remove(“file_test”)

  3. 重命名
    os.rename(“old_name”, “new_name”)

  4. 创建多级目录
    os.makedirs(path, mode)

  5. 创建单级目录
    os.mkdir(dirname)

  6. 获取文件属性,执行一个stat系统调用,返回stat结构
    os.stat(“test”)

  7. 修改文件权限
    os.chmod(path, mode)

  8. 获取文件大小
    os.path.getsize(filename)

  9. 终止当前进程
    os.exit()

  10. 获取当前工作路径
    os.getcwd()

  11. 以列表形式返回指定目录下所有文件和目录名, 参数可以是相对路径
    os.listdir(path)

  12. 判断是否是文件, 给定参数必须是绝对路径, 返回值为bool
    os.path.isfile(path)

  13. 判断是否是目录, 给定参数必须是绝对路径, 返回值为bool
    os.path.isdir(path)

  14. 判断是否是绝对路径, 返回bool
    os.path.isabs(path)

  15. 判断路径是否存在,必须是绝对路径, 返回bool
    os.path.exists(path)

  16. 分离路径,返回值是 被分割的字符串列表, 共路径头和尾两个元素
    路径尾是最后不带/的部分, 之前的是路径头, 两者都可为空
    path = os.path.split("/home/lzj/Python/test.py")
    print path[0] + " & " + path[1]
    print os.path.split("/home/lzj/Python/test.py")
    print os.path.split("/home/lzj/")

输出:
/home/lzj/Python & test.py
('/home/lzj/Python', 'test.py')
('/home/lzj', '')
  1. 分离扩展名
    print os.path.splitext("/home/lzj/Python/test.py")
    获取路径名
    print os.path.dirname("/home/lzj/Python/test.py")
    #获取文件名
    print os.path.basename("/home/lzj/Python/test.py")
输出:
('/home/lzj/Python/test', '.py')
/home/lzj/Python
test.py

你可能感兴趣的:(Python)