python---os模块使用详解
相关方法或属性:
getcwd() --- 获取当前的操作目录,等同于linux中的pwd命令。
调用:os.getcwd()
chdir() --- 改变python脚本的工作目录。
调用:os.chdir(path) (path以字符串形式传入)
例如:
>>> os.getcwd()
'C:\\Users\\BLUE'
>>> os.chdir('D:\\Program Files')
>>> os.getcwd()
'D:\\Program Files'
>>> os.chdir(r'C:\Users\BLUE')
>>> os.getcwd()
'C:\\Users\\BLUE'
curdir --- 当前目录 使用:os.curdir
pardir --- 当前目录的父目录 使用: os.pardir
例如:
>>> os.curdir
'.'
>>> os.pardir
'..'
>>> os.getcwd()
'C:\\Users\\BLUE'
>>> os.chdir(os.pardir)
>>> os.getcwd()
'C:\\Users'
makedirs() --- 递归的创建目录。
调用:os.makedirs('dir_1/dir_2/dir_3/.../dir_n')
例如:os.makedirs(r'C:\a\b\c\d') #该操作会依次在C盘下创建a, b, c, d四个文件夹(若a目录存在则只创建b,c,d三个目录)。
removedirs() --- 若当前目录为空则删除,并切换到父级目录,若为空继续删除,依次递归。
调用:os.removedirs('dir_1/dir_2/dir_3/.../dir_n')
例如:os.removedirs(r'C:\a\b\c\d') #该操作会依次在C盘下依次删除d, c, b, a四个文件夹,如果中间某一级目录不为空,则在该级停止删除。
mkdir() --- 创建单级目录。
调用:os.mkdir('dir_1/dir_2/dir_3/.../dir_n')
例如:os.mkdir(r'C:\a\b\c\d') #该操作会在C盘下创建d文件夹(若a, b, c目录有一个不存在,则无法创建并报错)。
rmdir() --- 删除单级空目录。
调用:os.rmdir('dir_1/dir_2/dir_3/.../dir_n')
例如:os.rmdir(r'C:\a\b\c\d') #若d目录为空,该操作只删除d目录, 否则无法删除并报错。
listdir() --- 以列表的形式列出制定目录下的所有文件(包括隐藏文件),子目录。
调用:os.listdir(path)
例如:(列出D盘下的所有文件)
>>> os.listdir(r'D:')
['Anaconda3', 'BaiduNetdisk', 'BHO', 'Data', 'guiminer', 'Intel', 'JetBrains', 'Profiles', 'Program', 'Tencent', 'Thunder', 'Thunder BHO Platform', 'UninstallXLWFP.exe', 'WinRAR', '腾讯游戏']
remove() --- 删除一个文件。
调用:os.remove(path)
rename() --- 对一个文件重命名。
调用:os.rename(old_filename, new_filename) #注意不能覆盖已存在文件
stat() --- 获取文件或目录的属性信息。
调用:os.stat(path)
例如:
>>> os.stat(r'C:\Windows\regedit.exe')
os.stat_result(st_mode=33279, st_ino=281474976742063, st_dev=1893840342, st_nlink=2, st_uid=0, st_gid=0, st_size=321024, st_atime=1489870628, st_mtime=1489870628, st_ctime=1489870628)
>>> os.stat(r'C:\Windows')
os.stat_result(st_mode=16895, st_ino=281474976712108, st_dev=1893840342, st_nlink=1, st_uid=0, st_gid=0, st_size=32768, st_atime=1502900732, st_mtime=1502900732, st_ctime=1489837220)
sep --- 使用os.sep获取当前平台的路径的分隔符(目录与子目录之间)(例如windows下是r‘\’,Linux下时‘/’)。
linesep --- 使用os.linesep获取当前平台的换行符(例如windows下是‘\r\n’,Linux下时‘\n’)。
pathsep --- 使用os.pathsep获取当前平台文件路径的分隔符(文件之间)(例如windows下是‘;’,Linux下时‘:’)。
name --- 使用os.name获取当前平台名称。
例如:
>>> os.sep
'\\'
>>> os.linesep
'\r\n'
>>> os.pathsep
';'
>>> os.name
'nt'
system() --- 执行系统命令。
调用:os.system(command)
例如:
>>> os.system('ping www.baidu.com')
正在 Ping www.A.sHiFeN.com [220.181.112.244] 具有 32 字节的数据:
来自 220.181.112.244 的回复: 字节=32 时间=38ms TTL=55
来自 220.181.112.244 的回复: 字节=32 时间=38ms TTL=55
来自 220.181.112.244 的回复: 字节=32 时间=38ms TTL=55
来自 220.181.112.244 的回复: 字节=32 时间=37ms TTL=55
220.181.112.244 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 37ms,最长 = 38ms,平均 = 37ms
environ --- 使用os.environ获取系统环境变量。
例如:
>>> os.environ
environ({'COMPUTERNAME': 'DESKTOP-KTUG9G5', 'APPDATA': 'C:\\Users\\BLUE\\AppData\\Roaming', 'USERDOMAIN_ROAMINGPROFILE': 'DESKTOP-KTUG9G5', 'HOMEPATH': '\\Users\\BLUE', 'NUMBER_OF_PROCESSORS': '', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'ONEDRIVE': 'C:\\Users\\BLUE\\OneDrive', 'LOGONSERVER': '\\\\DESKTOP-KTUG9G5', 'OS': 'Windows_NT', 'TEMP': 'C:\\Users\\BLUE\\AppData\\Local\\Temp', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'PROGRAMDATA': 'C:\\ProgramData', 'PROMPT': '$P$G', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 60 Stepping 3, GenuineIntel', 'LOCALAPPDATA': 'C:\\Users\\BLUE\\AppData\\Local', 'USERNAME': 'BLUE', 'PROCESSOR_REVISION': '3c03', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMW6432': 'C:\\Program Files', 'WINDIR': 'C:\\Windows', 'PUBLIC': 'C:\\Users\\Public', 'ASL.LOG': 'Destination=file', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PROCESSOR_LEVEL': '', 'SYSTEMROOT': 'C:\\Windows', 'SESSIONNAME': 'Console', 'ALLUSERSPROFILE': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'HOMEDRIVE': 'C:', 'TMP': 'C:\\Users\\BLUE\\AppData\\Local\\Temp', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'PATH': 'D:\\Program Files\\Anaconda3\\Library\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;D:\\Program Files\\Anaconda3;D:\\Program Files\\Anaconda3\\Scripts;D:\\Program Files\\Anaconda3\\Library\\bin;C:\\Users\\BLUE\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\BLUE\\AppData\\Local\\GitHubDesktop\\bin', 'USERDOMAIN': 'DESKTOP-KTUG9G5', 'USERPROFILE': 'C:\\Users\\BLUE'})
path.abspath() --- 获取文件的绝对路径
调用:os.path.abspath(filename)
例如:
>>> os.chdir(r'C:\windows')
>>> os.path.abspath('regedit.exe')
'C:\\windows\\regedit.exe'
path.split() --- 传入一个文件路径,返回一个tuple(由两部分构成(path, filename))。
调用:os.path.split(path)
例如:
path.dirname() --- 获取路径中的目录。
调用:os.path.dirname(path)
path.basename() --- 获取路径中的文件名。
调用:os.path.basename(path)
>>> os.path.dirname(r'C:\Windows\System32\drivers\etc\hosts')
'C:\\Windows\\System32\\drivers\\etc'
>>> os.path.basename(r'C:\Windows\System32\drivers\etc\hosts')
'hosts'
>>> os.path.split(r'C:\Windows\System32\drivers\etc\hosts')
('C:\\Windows\\System32\\drivers\\etc', 'hosts')
path.exists() --- 判断路径是否存在。
调用:os.path.exists(path)
path.isabs() --- 判断路径是否是绝对路径。
调用:os.path.isabs(path)
path.isfile() --- 判断是否是文件。
调用:os.path.isfile(path)
path.isdir() --- 判断是否是目录。
调用:os.path.isdir(path)
例如:
>>> os.path.exists(r'C:\Windows\System32\drivers\etc\hosts')
True
>>> os.path.exists(r'C:\Windows\System32\drivers\etc\abcd')
False
>>> os.path.isabs(r'C:\Windows\System32\drivers\etc\hosts')
True
>>> os.path.isabs(r'../')
False
>>> os.path.isfile('C:\Windows\System32\drivers\etc\hosts')
True
>>> os.path.isfile('C:\Windows\System32\drivers\etc')
False
>>> os.path.isdir('C:\Windows\System32\drivers\etc')
True
>>> os.path.isdir('C:\Windows\System32\drivers\etc\hosts')
False
path.join() --- 将一个或多个路径正确地连接起来。
调用:os.path.join(path, *paths)
path.getatime() --- 获取文件最后的访问时间(以时间戳的形式返回)。
调用:os.path.getatime(path)
path.getmtime() --- 获取文件最后的修改时间(以时间戳的形式返回)。
调用:os.path.getmtime(path)
例如:
>>> os.path.join('C:', r'\windows\System32', r'\System32\drivers')
'C:\\System32\\drivers'
>>> os.path.join('C:', r'\windows\System32')
'C:\\windows\\System32'
>>> os.path.getatime('C:\Windows\System32\drivers\etc\hosts')
1501070798.585747
>>> os.path.getmtime('C:\Windows\System32\drivers\etc\hosts')
1502505489.0068946
popen() --- 打开到命令cmd的管道。返回值是连接到管道的打开文件对象,根据mode是'r'(默认)还是'w'。
调用:os.popen(cmd, mode="r", buffering=-1) #一般后两个参数默认即可
>>> import os
>>> f = os.popen("dir")
>>> content = f.read()
>>> print(content)
驱动器 C 中的卷没有标签。
卷的序列号是 70E1-B5D6 C:\Users\BLUE 的目录 2017/10/06 17:11 <DIR> .
2017/10/06 17:11 <DIR> ..
2017/07/28 15:55 <DIR> .android
2017/07/30 12:44 <DIR> .astropy
2017/08/06 13:58 <DIR> .conda
2017/08/07 22:05 80 .gitconfig
2017/07/30 13:07 <DIR> .ipython
2017/07/30 12:52 <DIR> .matplotlib
2017/07/30 12:34 <DIR> .PyCharm2017.1
2017/10/07 14:08 <DIR> .VirtualBox
2017/07/26 20:51 <DIR> AppData
2017/09/17 10:10 <DIR> Contacts
2017/09/28 20:35 <DIR> Desktop
2017/10/06 18:25 <DIR> Documents
2017/10/06 18:41 <DIR> Downloads
2017/09/17 10:10 <DIR> Favorites
2017/09/27 12:59 <DIR> Links
2017/09/17 10:10 <DIR> Music
2017/09/27 12:59 <DIR> OneDrive
2017/09/17 10:10 <DIR> Pictures
2017/09/17 10:10 <DIR> Saved Games
2017/09/17 10:10 <DIR> Searches
2017/10/07 15:46 <DIR> Videos
1 个文件 80 字节
22 个目录 61,312,913,408 可用字节
python---os模块使用详解的更多相关文章
- python os模块方法详解
os.access() 方法使用当前的uid/gid尝试访问路径.大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试. 实例: os.chdir() 方法用于改变 ...
- python之模块datetime详解
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块datetime详解 import datetime #data=datetime.dat ...
- python的内置模块之os模块方法详解以及使用
1.getcwd() 获取当前工作路径 import os print(os.getcwd()) C:\python35\python3.exe D:/pyproject/day21模块/os模块.p ...
- Python内置OS模块用法详解
大家好,从今天起早起Python将持续更新由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解的代码与注释及动态演示.刚入门的读者千万不要错过! 很多人学习python,不知 ...
- Python Deque 模块使用详解,python中yield的用法详解
Deque模块是Python标准库collections中的一项. 它提供了两端都可以操作的序列, 这意味着, 你可以在序列前后都执行添加或删除. https://blog.csdn.net/qq_3 ...
- python——pickle模块的详解
pickle模块详解 该pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议. “Pickling”是将Python对象层次结构转换为字节流的过程, “unpickling”是反 ...
- python子进程模块subprocess详解与应用实例 之三
二.应用实例解析 2.1 subprocess模块的使用 1. subprocess.call >>> subprocess.call(["ls", " ...
- python子进程模块subprocess详解与应用实例 之一
subprocess--子进程管理器 一.subprocess 模块简介 subprocess最早是在2.4版本中引入的. subprocess模块用来生成子进程,并可以通过管道连接它们的输入/输出/ ...
- python子进程模块subprocess详解
subprocess--子进程管理器一.subprocess 模块简介subprocess最早是在2.4版本中引入的.subprocess模块用来生成子进程,并可以通过管道连接它们的输入/输出/错误, ...
- python datetime模块参数详解
Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块,它提供 的接口与C标准库time.h基本一致.相比于time模块,datetime模块的接 ...
随机推荐
- 怎样通过js 取消input域的hidden属性使其变的可见
document.getElementById(ID).setAttribute("hidden",false);厉害了 我的哥!
- postgresql如何维护WAL日志/归档日志
WAL日志介绍 wal全称是write ahead log,是postgresql中的online redo log,是为了保证数据库中数据的一致性和事务的完整性.而在PostgreSQL 7中引入的 ...
- 《Java从入门到放弃》JavaSE入门篇:面向对象语法二(入门版)
想了半天,发现单独的封装和多态没什么好讲的,我们就简单说说Java里面对应的语法吧. 相关内容如下: 一.访问修饰符 二.getter/setter方法 三.构造方法 四.super和this 五.s ...
- 关于 ThinkPHP 在 Nginx 服务器上 使用U方法跳转问题
这个问题已多次遇到,关于tp 框架 使用U 方法跳转, 在Nginx 服务器上可能会遇到路由跳转不过去前面带点(如:./xx) 解决这个问题,可以在tp的入口文件 index.php 里定义个常量 d ...
- spring mvc:Error scanning entry module-info.class from jar错误
项目从jdk1.6升级到jdk1.8,启动的时候出现如下错误: java.lang.RuntimeException: Error scanning entry module-info.class f ...
- Unity2017.x 版本的下载安装
Unity2017 版本从2017年7月开始正式发布Unity2017.1版本,为了初学者更加清晰明了的掌握全过程,笔者还是以完整的共19个步骤来给大家演示下载与配置安装的全过程,方便广大读者的无障碍 ...
- web服务的三大主流架构
1.远程过程调用 2.服务导向架构 3.表述性状态转移 今天在自学Spring架构时貌似发现 rest的表现.与RPC方式的最大差别,SOA方式更加关注如何去连接服务而不是去特定某个实现的细节.而re ...
- java环境安装说明
Java从安装到运行第一个程序 对于初学者来说,能否成功运行第一个Java程序,关系到这杯咖啡的口感. 作为才疏学浅的常年初学者,语言描述不清,还是上图吧! 一.安装JDK 打开网址http://ww ...
- 【Alpha阶段】第三次scrum meeting
每日任务: ·1.本次会议为第三次Meeting会议: ·2.本次会议于今日上午08:30第五社区五号楼下召开,会议时长15min. 二.每个人的工作: 三.工作中遇到的困难: 由于对编程语言的学习不 ...
- Java 第七周总结
1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 我们知道ArrayList是允许重复的,有序的元素的集合,但当我们想用它来放 ...