【学习】Python os模块常用方法 记录
记录一些工作中常用到的用法
os.walk()
模块os中的walk()函数可以遍历文件夹下所有的文件。
os.walk(top, topdown=Ture, onerror=None, followlinks=False)
该函数可以得到一个三元元组 tupple(dirpath, dirnames, filenames).
参数含义:
dirpath:string,代表目录的路径;
dirnames:list,包含了当前dirpath路径下所有的子目录名字(不包含目录路径);
filenames:list,包含了当前dirpath路径下所有的非目录子文件的名字(不包含目录路径)。
注意,dirnames和filenames均不包含路径信息,如需完整路径,可使用os.path.join(dirpath, dirnames)
import os for root, dirs, files in os.walk(r'D:\test'):
for dir in dirs:
print(os.path.join(root, dir))
for file in files:
print(os.path.join(root, file))
当需要特定类型的文件时
# !/usr/bin/env python
# -*- coding:utf-8 -*- import os def file_name(file_dir):
FileList=[]
for root, dirs, files in os.walk(file_dir):
for file in files:
if os.path.splitext(file)[1] == '.jpg':
FileList.append(os.path.join(root, file))
return FileList
其中os.path.splitext()函数将路径拆分为文件名+扩展名,例如 os.path.splitext(“E:\IDCard\love.jpg”) 将得到 ('E:\\IDCard\\love', '.jpg')
os.listdir()
os.listdir()函数得到的是指定路径下的文件名,不包括子目录中的文件,所有需要使用递归的方法得到全部文件名。
直接给出代码,函数将返回类型为‘.jpg’个文件名:
# !/usr/bin/env python
# -*- coding:utf-8 -*- import os def listdir(path, list_name):
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isdir(file_path):
listdir(file_path, list_name)
elif os.path.splitext(file_path)[1]=='.jpg':
list_name.append(file_path)
os.path()
os.path() 模块主要用于获取文件的属性。
以下是 os.path() 模块的几种常用方法:
| 方法 | 说明 |
|---|---|
| os.path.abspath(path) | 返回绝对路径 |
| os.path.basename(path) | 返回文件名 |
| os.path.commonprefix(list) | 返回list(多个路径)中,所有path共有的最长的路径 |
| os.path.dirname(path) | 返回文件路径 |
| os.path.exists(path) | 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。 |
| os.path.lexists | 路径存在则返回True,路径损坏也返回True |
| os.path.expanduser(path) | 把path中包含的"~"和"~user"转换成用户目录 |
| os.path.expandvars(path) | 根据环境变量的值替换path中包含的"$name"和"${name}" |
| os.path.getatime(path) | 返回最近访问时间(浮点型秒数) |
| os.path.getmtime(path) | 返回最近文件修改时间 |
| os.path.getctime(path) | 返回文件 path 创建时间 |
| os.path.getsize(path) | 返回文件大小,如果文件不存在就返回错误 |
| os.path.isabs(path) | 判断是否为绝对路径 |
| os.path.isfile(path) | 判断路径是否为文件 |
| os.path.isdir(path) | 判断路径是否为目录 |
| os.path.islink(path) | 判断路径是否为链接 |
| os.path.ismount(path) | 判断路径是否为挂载点 |
| os.path.join(path1[, path2[, ...]]) | 把目录和文件名合成一个路径 |
| os.path.normcase(path) | 转换path的大小写和斜杠 |
| os.path.normpath(path) | 规范path字符串形式 |
| os.path.realpath(path) | 返回path的真实路径 |
| os.path.relpath(path[, start]) | 从start开始计算相对路径 |
| os.path.samefile(path1, path2) | 判断目录或文件是否相同 |
| os.path.sameopenfile(fp1, fp2) | 判断fp1和fp2是否指向同一文件 |
| os.path.samestat(stat1, stat2) | 判断stat tuple stat1和stat2是否指向同一个文件 |
| os.path.split(path) | 把路径分割成 dirname 和 basename,返回一个元组 |
| os.path.splitdrive(path) | 一般用在 windows 下,返回驱动器名和路径组成的元组 |
| os.path.splitext(path) | 分割路径,返回路径名和文件扩展名的元组 |
| os.path.splitunc(path) | 把路径分割为加载点与文件 |
| os.path.walk(path, visit, arg) | 遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数 |
| os.path.supports_unicode_filenames | 设置是否支持unicode路径名 |
【学习】Python os模块常用方法 记录的更多相关文章
- python os模块常用方法
OS模块是Python标准库中的一个操作模块,主要用于处理Linux操作系统中的文件和目录 1.要使用OS必须先导入OS import os 2.os.getcwd()获取当前路径. print os ...
- python os模块常用方法总结
该模块提供一种便捷的方式来操作系统 os.environ:返回系统环境变量 os.getenv(env):返回环境变量env的值 os.getpid():当前程序的进程 os.uname():返回一个 ...
- Python 模块学习:os模块
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台 ...
- [转] Python 模块学习:os模块
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台 ...
- python os模块学习
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是wi ...
- python模块学习:os模块
一.os模块概述 Python os模块包含普遍的操作系统功能.例如文件的复制.创建.修改.删除文件及文件夹... 二.常用方法 1.os.listdir() 返回指定目录下的所有文件和目录名. ...
- Python::OS 模块 -- 进程管理
os模块的简介参看 Python::OS 模块 -- 简介 os模块的文件相关操作参看 Python::OS 模块 -- 文件和目录操作 os模块的进程参数 Python::OS 模块 -- 进程参数 ...
- Python::OS 模块 -- 进程参数
os模块的简介请参看 Python::OS 模块 -- 简介 os模块的文件和目录操作 Python::OS 模块 -- 文件和目录操作 os模块的进程管理 Python::OS 模块 -- 进程管理 ...
- Python::OS 模块 -- 文件和目录操作
os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...
随机推荐
- SAP WM TO Print Control设置里,Movement Type 的优先级更高
SAP WM TO Print Control设置里,Movement Type 的优先级更高 存储类型的配置: 从storage type GRM 搬到任何地方,都不需要打印TO单. 移动类型的配置 ...
- SpringMVC Root WebApplicationContext启动流程
传统的SpringMVC项目中,需要在web.xml中配置Contextlistener.ContextLoaderListener是负责引导启动和关闭Spring的Root上下文的监听器.主要将处理 ...
- OpenStack 删除instance 和其附加的volumes
在openstack里面有时候删除instance时,volume无法跟着删除,可以自己编写脚本来实现, 脚本代码如下: #!/bin/bash for i in $(cat /root/host-d ...
- DeepWalk论文精读:(1)解决问题&相关工作
模块1 1. 研究背景 随着互联网的发展,社交网络逐渐复杂化.多元化.在一个社交网络中,充斥着不同类型的用户,用户间产生各式各样的互动联系,形成大小不一的社群.为了对社交网络进行研究分析,需要将网络中 ...
- 2019-2020 ICPC, Asia Jakarta Regional Contest A. Copying Homework (思维)
Danang and Darto are classmates. They are given homework to create a permutation of N integers from ...
- python(运算符)
一.运算符 1.算数运算符 (1)加(+) 注意:字符串与整数之间不能进行相加,需要通过str()或int()进行转换数据类型 整数与整数相加 >>> 1 + 1 2 >> ...
- 一个简单的wed服务器SHTTPD(5)————服务器SHTTPD请求方法解析
//start from the very beginning,and to create greatness //@author: Chuangwei Lin //@E-mail:979951191 ...
- 使用docker搭建自己的博客(一)
购买服务器 首先服务器选择腾讯云学生服务器,25岁以下实名认证后月租10块,还是很适合我这种简约派的 又财大气粗买了个一年的域名,后面涨价再说吧 安装docker 使用xshell连上服务器 安装必要 ...
- Linux 上搭建 Snort+BASE 入侵检测系统
配置实验环境 由于本人电脑的存储空间不足,无法再承担安装一个虚拟机的开销,因此在阿里云上申请了一个云服务器进行本次实验.服务器配置如下: 1 核 - 2GB 内存 - 40GB 系统盘 操作系统:Ub ...
- python文件路径分隔符的详细分析
写了挺久的python,文件分隔符的掌握肯定是必须的,但是我之前写的都是不规范的文件路径分隔符,例如‘’C:\User\temp\python.txt’,一直都没有报过错.也不知为啥,今天查阅资料才知 ...