Python基础-OS(文件/目录)操作
1.系统操作
- os.sep:用于查看系统路径的分隔符
- windows---->’\’
import os
print(os.sep)
'\'
- ubuntu---->’/’
-
os.name:显示正在使用平台
- Windows—>‘nt’
import os print(os.name) 'nt'
- Linux/Unix—>‘posix’
-
os.getenv():读取环境变量(environment)
import os
print(os.getenv('path'))
'''
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;%JAVA_HOME%\bin;C:\ProgramData\Oracle\Java\javapath;D:\python\Scripts\;D:\python\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\MySQL\MySQL Server 5.5\bin
'''
- os.getcwd()—>获取当前路径
import os
print(os.getcwd())
'D:\PycharmProject\day06'
2.目录操作(direction)
- os.listdir():返回指定目录下的所有文件和目录名
import os
print(os.listdir()) #未指定路径,当前路径下、
dirs='D:\PycharmProject'
print(os.listdir(dirs))# 指定路径下
'''
['day06.py', '__init__.py']
['.idea', 'data', 'day01', 'day02', 'day03', 'day04', 'day05 work', 'day06', '关其辉 作业1.rar'
'''
- 创建:
os.mkdir(path):只能创建一级目录
import os
print(os.listdir())
os.mkdir('work1')
print(os.listdir())
'''
['1.txt', 'data', 'data.txt', 'day06.py', 'OS.py', 'work', 'work3.txt', '__init__.py', '作业2.md', '新建文件夹']
['1.txt', 'data', 'data.txt', 'day06.py', 'OS.py', 'work', 'work1', 'work3.txt', '__init__.py', '作业2.md', '新建文件夹']
'''
os.makedirs(path):能创建多级目录
- 删除:
os.rmdir(path):只能删除一级空目录
import os
print(os.listdir())
os.rmdir('work1')
print(os.listdir())
'''
['1.txt', 'data', 'data.txt', 'day06.py', 'OS.py', 'work', 'work1', 'work3.txt', '__init__.py', '作业2.md', '新建文件夹']
['1.txt', 'data', 'data.txt', 'day06.py', 'OS.py', 'work', 'work3.txt', '__init__.py', '作业2.md', '新建文件夹']
'''
os.removedirs(path):能够删除多级空目录
- 更改:
os.chdir():change direction #将当前目录更改到指定的目录
os.rename(‘now’,‘new’)#更改现在的文件名称
import os
os.chdir(..) #上一级目录
3.判断文件(返回True/False)
- os.path.exists(path)#判断文件/目录是否存在
import os
print(os.listdir())
print(os.path.exists('work3.txt'))
'''
['1.txt', 'data', 'data.txt', 'day06.py', 'hello', 'OS.py', 'work3.txt', '__init__.py', '作业2.md', '新建文件夹']
True
'''
- os.path.isfile(path)判断是否为文件
import os
print(os.listdir())
print(os.path.isfile('work3.txt'))
'''
['1.txt', 'data', 'data.txt', 'day06.py', 'hello', 'OS.py', 'work3.txt', '__init__.py', '作业2.md', '新建文件夹']
True
'''
- os.path.isdir(path)判断是否为目录
import os
print(os.listdir())
print(os.path.isdir('work3.txt'))
'''
['1.txt', 'data', 'data.txt', 'day06.py', 'hello', 'OS.py', 'work3.txt', '__init__.py', '作业2.md', '新建文件夹']
False
'''
4.查看文件的时间
-
os.path.getmtime(path):返回文件或者目录的最后修改时间,结果为秒数
-
os.path.getatime(path):返回文件最后访问时间,结果为秒数
-
os.path.getctime(path):返回文件创建时间,结果为秒速
import os
import time
tm=os.path.getctime('day06.py')
print(tm)
print(time.strftime('%Y-%m-%d %X',time.localtime(tm)))
'''
1563755447.6333814
2019-07-22 08:30:47'''
5.获取文件和目录:
- os.walk():输出目录和文件
paths=os.walk('D:\PycharmProject\day06')
for i in paths:
print(i)
'''
('D:\\PycharmProject\\day06', ['data'], ['data.txt', 'day06.py', '__init__.py'])
('D:\\PycharmProject\\day06\\data', [], [])#输出data文件夹下的文件
'''
6.拓展
os.path.sirname(path):返回文件路径
os.path.basename(path):返回文件名称
os.path.getsize(name) :返回文件大小
os.path.abspath(name): 返回绝对路径
os.path.join(path,name):连接目录与文件名
od.path.split(path):目录与文件分开,以元组形式返回