一、o s模块的使用

# os模块# os模块就是对操作系统进行操作,使用该模块必须先导入模块:
import os#getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹)
result = os.getcwd()
print(result)#chdir()改变当前工作目录
os.chdir('/home/sy')
result = os.getcwd()
print(result)open('02.txt','w')#操作时如果书写完整的路径则不需要考虑默认工作目录的问题,按照实际书写路径操作
open('/home/sy/下载/02.txt','w')#listdir() 获取指定文件夹中所有内容的名称列表
result = os.listdir('/home/sy')
print(result)#mkdir()  创建文件夹
#os.mkdir('girls')
#os.mkdir('boys',0o777)#makedirs()  递归创建文件夹
#os.makedirs('/home/sy/a/b/c/d')#rmdir() 删除空目录
#os.rmdir('girls')#removedirs 递归删除文件夹  必须都是空目录
#os.removedirs('/home/sy/a/b/c/d')#rename() 文件或文件夹重命名
#os.rename('/home/sy/a','/home/sy/alibaba'
#os.rename('02.txt','002.txt')#stat() 获取文件或者文件夹的信息
#result = os.stat('/home/sy/PycharmProject/Python3/10.27/01.py)
#print(result)#system() 执行系统命令(危险函数)
#result = os.system('ls -al')  #获取隐藏文件
#print(result)#环境变量
'''
环境变量就是一些命令的集合
操作系统的环境变量就是操作系统在执行系统命令时搜索命令的目录的集合
'''
#getenv() 获取系统的环境变量
result = os.getenv('PATH')
print(result.split(':'))#putenv() 将一个目录添加到环境变量中(临时增加仅对当前脚本有效)
#os.putenv('PATH','/home/sy/下载')
#os.system('syls')#exit() 退出终端的命令#os模块中的常用值
#curdir  表示当前文件夹   .表示当前文件夹  一般情况下可以省略
print(os.curdir)#pardir  表示上一层文件夹   ..表示上一层文件夹  不可省略!
print(os.pardir)#os.mkdir('../../../man')#相对路径  从当前目录开始查找
#os.mkdir('/home/sy/man1')#绝对路径  从根目录开始查找#name 获取代表操作系统的名称字符串
print(os.name) #posix -> linux或者unix系统  nt -> window系统#sep 获取系统路径间隔符号  window ->\    linux ->/
print(os.sep)#extsep 获取文件名称和后缀之间的间隔符号  window & linux -> .
print(os.extsep)#linesep  获取操作系统的换行符号  window -> \r\n  linux/unix -> \n
print(repr(os.linesep))#导入os模块
import os#以下内容都是os.path子模块中的内容#abspath()  将相对路径转化为绝对路径
path = './boys'#相对
result = os.path.abspath(path)
print(result)#dirname()  获取完整路径当中的目录部分  &  basename()获取完整路径当中的主体部分
path = '/home/sy/boys'
result = os.path.dirname(path)
print(result)result = os.path.basename(path)
print(result)#split() 将一个完整的路径切割成目录部分和主体部分
path = '/home/sy/boys'
result = os.path.split(path)
print(result)#join() 将2个路径合并成一个
var1 = '/home/sy'
var2 = '000.py'
result = os.path.join(var1,var2)
print(result)#splitext() 将一个路径切割成文件后缀和其他两个部分,主要用于获取文件的后缀
path = '/home/sy/000.py'
result = os.path.splitext(path)
print(result)#getsize()  获取文件的大小
#path = '/home/sy/000.py'
#result = os.path.getsize(path)
#print(result)#isfile() 检测是否是文件
path = '/home/sy/000.py'
result = os.path.isfile(path)
print(result)#isdir()  检测是否是文件夹
result = os.path.isdir(path)
print(result)#islink() 检测是否是链接
path = '/initrd.img.old'
result = os.path.islink(path)
print(result)#getctime() 获取文件的创建时间 get create time
#getmtime() 获取文件的修改时间 get modify time
#getatime() 获取文件的访问时间 get active timeimport timefilepath = '/home/sy/下载/chls'result = os.path.getctime(filepath)
print(time.ctime(result))result = os.path.getmtime(filepath)
print(time.ctime(result))result = os.path.getatime(filepath)
print(time.ctime(result))#exists() 检测某个路径是否真实存在
filepath = '/home/sy/下载/chls'
result = os.path.exists(filepath)
print(result)#isabs() 检测一个路径是否是绝对路径
path = '/boys'
result = os.path.isabs(path)
print(result)#samefile() 检测2个路径是否是同一个文件
path1 = '/home/sy/下载/001'
path2 = '../../../下载/001'
result = os.path.samefile(path1,path2)
print(result)#os.environ 用于获取和设置系统环境变量的内置值
import os
#获取系统环境变量  getenv() 效果
print(os.environ['PATH'])#设置系统环境变量 putenv()
os.environ['PATH'] += ':/home/sy/下载'
os.system('chls')

二、OS模块常用方法

import os, sys, stat
os与sys模块的官方解释如下:os模块
os.linesep:用于在文件中分隔行的字符串
os.sep:表示默认的文件路径分隔符,windows为\, linux为/
os.pathsep:用于分隔文件路径的字符串
os.curdir:当前工作目录的字符串名称
os.pardir:(当前工作目录的)父目录字符串名称
os.walk(spath):用来遍历目录下的文件和子目录
os.listdir(dirname):列出dirname下的目录和文件
os.mkdir() : 创建目录
os.makedirs(): 创建目录,包含中间级目录
os.remove():删除文件,不能是目录
os.rmdir():删除空目录
os.removedirs(path):删除目录及其子目录
os.rename(src, dst) :修改文件名
os.renames(old, new):修改文件或目录名,包含中间级
os.chdir("/tmp"): 更改当前目录
os.chmod( "c:\\test\\buildid.txt", stat.S_IWRITE ): 去除文件的只读属性
os.chmod( path, flags ) # 给文件设置权限path -- 文件名路径或目录路径。flags -- 可用以下选项按位或操作生成, 目录的读权限表示可以获取目录里文件名列表, 执行权限表示可以把工作目录切换到此目录 ,删除添加目录里的文件必须同时有写和执行权限 ,文件权限以用户id->组id->其它顺序检验,最先匹配的允许或禁止权限被应用。stat.S_IXOTH:其他用户有执行权0o001stat.S_IWOTH:其他用户有写权限0o002stat.S_IROTH:其他用户有读权限0o004stat.S_IRWXO:其他用户有全部权限(权限掩码)0o007stat.S_IXGRP:组用户有执行权限0o010stat.S_IWGRP:组用户有写权限0o020stat.S_IRGRP:组用户有读权限0o040stat.S_IRWXG:组用户有全部权限(权限掩码)0o070stat.S_IXUSR:拥有者具有执行权限0o100stat.S_IWUSR:拥有者具有写权限0o200stat.S_IRUSR:拥有者具有读权限0o400stat.S_IRWXU:拥有者有全部权限(权限掩码)0o700stat.S_ISVTX:目录里文件目录只有拥有者才可删除更改0o1000stat.S_ISGID:执行此文件其进程有效组为文件所在组0o2000stat.S_ISUID:执行此文件其进程有效用户为文件所有者0o4000stat.S_IREAD:windows下设为只读stat.S_IWRITE:windows下取消只读os.path模块
os.path.pathsep:表示默认的路径间的分隔符,windows为“;”; Linux为“:”
os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
os.path.exists(name):判断是否存在文件或目录name
os.path.getsize(name):获得文件大小,如果name是目录返回0L
os.path.getctime(name):获得文件的创建时间
os.path.getmtime(name):获得文件的修改时间
os.path.getatime(name):获得文件的最后访问时间
os.path.isabs(name):测试是否是绝对路径
os.path.abspath(name):获得绝对路径
os.path.normpath(path):规范path字符串形式
os.path.relpath(path, start='.'):返回路径的相对版本
os.path.split(name):分割文件名与目录(如果完全使用目录,它也会将最后一个目录作为文件名而分离,它不会判断文件或目录是否存在)
os.path.splitext():分离文件名与扩展名
os.path.splitdrive():分离驱动名或unc名字
os.path.join(路径+os.path.altsep,'1234'+os.path.altsep,'abc'):将分离的各部分组合成一个路径名
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径
os.path.expanduser("~"):用来获得user的home路径。shutil模块
shutil.copyfile(src, dst):拷贝文件
shutil.copytree(srcDir, dstDir):拷贝目录
shutil.rmtree('dir'):删除非空文件夹
shutil.move('old','new'):修改文件和目录名称glob模块
匹配文件:glob.glob(r”c:\linuxany\*.py”)总结:os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口。

三、给文件夹中图片加上一个前缀

# -*- coding:utf-8 -*-
import re
import os
import time# str.split(string)分割字符串
# '连接符'.join(list) 将列表组成字符串def change_name(path):global iif not os.path.isdir(path) and not os.path.isfile(path):return Falseif os.path.isfile(path):file_path = os.path.split(path)  # 分割出目录与文件lists = file_path[1].split('.')  # 分割出文件与文件扩展名file_ext = lists[-1]  # 取出后缀名(列表切片操作)从后往前取img_ext = ['bmp','jpeg','gif','psd','png','jpg']if file_ext in img_ext:os.rename(path,file_path[0]+'/'+lists[0]+'_fc.'+file_ext)i += 1  # 注意这里的i是一个陷阱img_ext = 'bmp|jpeg|gif|psd|png|jpg'if file_ext in img_ext:print('ok---'+file_ext)elif os.path.isdir(path):for x in os.listdir(path):change_name(os.path.join(path,x)) # os.path.join() 在路径处理上很有用img_dir = 'D:\\xx\\xx\\images'
img_dir = img_dir.replace('\\','/')
start = time.time()
i = 0
change_name(img_dir)
c = time.time() - startprint('程序运行耗时:%0.2f'%(c))
print('总共处理了 %s 张图片'%(i))

Python OS 操作系统操作模块相关推荐

  1. Python OS 文件操作模块常用函数

    我们经常会与文件和目录打交道,对于这些操作python提供了一个os模块,里面包含了很多操作文件和目录的函数.全部函数可以用help(os)或是dir(os)查看其用法. 常用的函数如下: 1.重命名 ...

  2. Fintech系列(三) -- python对excel操作模块汇总||推荐指数||用法示例

    python对excel操作模块汇总||推荐指数||用法示例 Working with Excel Files in Python 总览 读写Excel的python第三方开源模块 Excel写操作插 ...

  3. python os 文件操作 os.rename(src, dst) 方法 os.renames()

    os.rename() 方法用于命名文件或目录,从 src 到 dst,如果src不存在或dst是一个存在的目录, 将抛出OSError. 参考文章1:Python os.rename() 方法 参考 ...

  4. python os 文件操作 chdir(path)方法

    参考文章:Python os.chdir() 方法 os.chdir() 方法用于改变当前工作目录到指定的路径.

  5. python os 文件操作 getcwd()方法

    os.getcwd() 方法用于返回当前工作目录. 参考文章:Python os.getcwd() 方法

  6. Python os.path路径模块中的操作方法总结

    解析路径路径解析依赖与os中定义的一些变量: os.sep-路径各部分之间的分隔符. os.extsep-文件名与文件扩展名之间的分隔符. os.pardir-路径中表示目录树上一级的部分. os.c ...

  7. Python OS和shutil模块的常见方法

    1.列出指定目录下所有的文件 os.listdir() 2.路径拼接 os.path.join() 3.删除文件 os.remove() 删除文件夹 import shutilshutil.rmtre ...

  8. Python常用模块2-Python的OS及errno模块

    文章目录 一.Python OS及errno模块简介 1.1 OS模块介绍 1.2 errno模块 二.Python的OS及errno模块实操 参考 一.Python OS及errno模块简介 以下整 ...

  9. Python爬虫-02 request模块爬取妹子图网站

    简介 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3)#注意:requests库发送请求将网页内容下载 ...

最新文章

  1. 14PS中的切图基本操作
  2. Android采用pm实现静默安装(降级安装)的解决方案
  3. 数字电路是如何搭建的
  4. jdbc增删改查有哪些步骤_用Mybatis如何实现对数据库的增删改查步骤
  5. 语言高精度算法阶乘_JavaScript中的算法(附10道面试常见算法题解决方法和思路)...
  6. CSS自定义消息提示
  7. 通过使用CSS字体阴影效果解决hover图片时显示文字看不清的问题
  8. Jupyter的安装和基本使用
  9. keil复制代码乱码_成都控制器开发:容易忽略!用KEIL编码汉字也会有BUG
  10. absolute如果找不到定位父元素那么会相对于谁进行定位_selenium+python面试题目总结,完整度80%,看看你会多少?...
  11. 第38周星期四电话会议忙碌的一天
  12. 【渝粤教育】国家开放大学2018年秋季 0690-22T化工原理及实验 参考试题
  13. copy-and-swap idiom详解和实现安全自我赋值
  14. 服务器2012能安装无线网卡,网件无线网卡在windows 2012支持问题
  15. gTunnel:一个基于Golang的TCP隧道
  16. PPT - 如何在PPT里面实现数字的随机抽奖?
  17. 前端第四天 盒子模型/浮动与定位
  18. ue4 rootmotion动画、模型导入使用(注)
  19. QT控件被其他控件遮盖
  20. vue底部跳转_Vue实现回到顶部和底部动画效果

热门文章

  1. UI设计教程:关于版式设计
  2. 给图片添加水印php视频,php给图片添加水印实例代码
  3. RFIC4463_F2A
  4. Centos开发环境配置
  5. css特殊符号模拟(加号,减号,差号)
  6. 蓝牙架构(3)—— 1 蓝牙概述 (1.3 AMP概述 1.4 术语命名 1.5 总结)
  7. 微信小程序--云函数部署问题
  8. 除了QVGA你还知多少?屏幕分辨率全解析
  9. 广点通屡次改版,微信“电商化”缺什么?
  10. java 城市多音字处理