零基础小白必看:python基本操作-文件、目录及路径
使用python的os模块 , 简单方便完成对文件夹、文件及路径的管理与访问操作 。
1 前言在最近开发中 , 经常需要对文件进行读取、遍历、修改等操作 , 想要快速、简单的完成这些操作 , 我选择用 python。 通过 python 的标准内置 os 模块 , 只需要几行代码 , 即可完成想要的操作 。 经过对 os 的使用 , 本文把 os 模块的常用的操作进行总结 , 主要分为以下几个划分:
- 文件夹操作:即文件夹的创建、修改(改名/移动) , 查询(查看、遍历)、删除等 。
- 文件操作:即文件的创建、修改、读取、删除等 。
- (文件夹/文件)路径操作:即文件夹或文件的路径操作 , 如绝对路径 , 文件名与路径分割 , 扩展名分割等
import os复制代码
文章插图
如果大家在学习中遇到困难 , 想找一个python学习交流环境 , 可以加入我们的python裙 , 关注小编 , 并私信“01”即可进裙 , 领取python学习资料 , 会节约很多时间 , 减少很多遇到的难题 。
2 文件夹操作以本地 E://pythontest 目录作为演示目录 , 此目录下当前文件如下:
test │ test.txt └─test-1test-1.txt复制代码
test 及 test-1 是文件夹 , test.txt 及 test-1.txt 是文件 。2.1 查询操作熟悉 linux 同学应该对 ls / pwd / cd 等操作不陌生 , 对应的 python 也有对应的方法 , 主要包括:
- listdir : 文件及目录列表
- getcwd :获取当前目录
- chdir :更换目录
- stat :文件及目录基本信息
- walk :递归遍历目录
>>> os.chdir("E://pythontest")# 更改目录>>> os.getcwd()# 获取当前目录'E:\\pythontest'>>> os.listdir("test")# 文件及目录列表 , 相对路径['test-1', 'test.txt']>>> os.listdir("E://pythontest/test")# 文件及目录列表 , 绝对路径['test-1', 'test.txt']>>> os.stat("test")# 获取目录信息os.stat_result(st_mode=16895, st_ino=4503599627377599, st_dev=266147611, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1590833033, st_mtime=1590832647, st_ctime=1590832207)>>> os.stat("test/test.txt")# 获取文件信息os.stat_result(st_mode=33206, st_ino=2251799813692354, st_dev=266147611, st_nlink=1, st_uid=0, st_gid=0, st_size=4, st_atime=1590832653, st_mtime=1590832609, st_ctime=1590832598)复制代码
其中 stat 函数返回的是文件或者目录的基本信息 , 具体如下:- st_mode: inode 保护模式
- st_ino: inode 节点号 。
- st_dev: inode 驻留的设备 。
- st_nlink: inode 的链接数 。
- st_uid: 所有者的用户ID 。
- st_gid: 所有者的组ID 。
- st_size: 普通文件以字节为单位的大小
- st_atime: 上次访问的时间 。
- st_mtime: 最后一次修改的时间 。
- st_ctime: 创建时间 。
(1)秒数转日期时间格式字符串
>>> import time# 引入time模块>>> timestruct = time.localtime(1590803070)# 转换为时间结构体>>> print(timestruct)time.struct_time(tm_year=2020, tm_mon=5, tm_mday=30, tm_hour=9, tm_min=44, tm_sec=30, tm_wday=5, tm_yday=151, tm_isdst=0)>>> time.strftime("%Y-%m-%d %H:%M:%S",timestruct)# 格式化时间'2020-05-30 09:44:30'复制代码
- 视频小白们的外挂装备:百视悦R5监视器+T2提词器套装上手
- 市科委与联影集团联合首设“探索者计划”,共推基础及应用基础研究
- 从事Java开发时发现基础差,是否应该选择辞职自学一段时间
- 大力发展新型基础设施建设“数字浙江”再添新引擎
- 「新书推荐」5G安全:5G生态的重要组成部分和5G发展的关键基础条件
- 新人必看,一个接触币圈2年的人花钱买来的教训
- 微软Surface Pro 8基础版规格或升级 酷睿i3+8GB运存
- 昆明2500万元奖补新能源汽车充电基础设施建设
- 实验|国家重大科技基础设施项目!中国锦屏地下实验室二期开工建设
- 视频小白的第一次相机稳定器使用:飞宇AK2000C体验