os模块

  • os即Operating System操作系统
  • python内置了os模块,可以完成一些比较复杂的系统级别的操作,如复制文件,移动文件之类的。
  • 常用方法如下:

  • os.getcwd()返回当前工作路径:

import os
a = os.getcwd()  # 当前路径
print(a)
# 输出文字
"""
/home/tlntin/PycharmProjects/study
"""
  • os.listdir(path)返回目标路径目录下所有文件
import os
a = os.listdir('/home/tlntin/PycharmProjects/study')
print(a)
# 输出路径
"""
['__pycache__', 'test.py', '静夜思.txt', '002.py', '001.json', '.idea', '001.pkl',
 '第二天.py', 'WTI_USD历史数据.csv']
"""
  • os.mkdir(path) 创建单个文件夹
import os
os.mkdir('test')  # test文件夹
# 输出文字
"""
当前路径下会多一个test文件夹
"""
  • os.makedirs(path) path包含子目录路径
import os
os.makedirs('test2/test3')  # 先test2文件夹,再创建子路径test3文件夹
  • os.remove(path) 删除单个文件
import os
os.remove('001.json')  # 删除当前路径下的001.json
  • os.removedirs(path) 递归删除路径下的所有文件夹
import os
os.removedirs('test2/test3')  # test2和其子目录test3都会被删除
  • os.rename(old, new) 重命名目录或者文件
import os
os.rename('002.py', '003.py')  # 重命名002到003
  • os.renames(old, new) 迭代重命名目录或者文件
import os
os.renames('test', 'test1/test2')  # 重命名test文件夹为test1文件夹,并且再下面建一个子路径
  • os.rmdir(path) 删除空白文件夹
import os
os.rmdir('test1/test2')  # 对test2检测,如果是空则删除

os.path

  • os下面含有一个path模块,path模块常用来对系统路径进行操作

  • abspath(path) 返回文件或者文件夹绝对路径

import os
a = os.path.abspath('003.py')
print(a)
# 输出文字
"""
/home/tlntin/PycharmProjects/study/003.py
"""
  • basename 返回路径中的文件名
import os
a = os.path.basename('/home/tlntin/PycharmProjects/study/003.py')
print(a)
# 输出文字
"""
003.py
"""
  • dirname 返回文件的父路径
import os
a = os.path.dirname('/home/tlntin/PycharmProjects/study/003.py')
print(a)
# 输出文字
"""
/home/tlntin/PycharmProjects/study
"""
  • exists(path) 判断文件路径是否存在
import os
result = os.path.exists('test1')
print(result)

# 输出结果
"""
True
"""
  • getatime(path) 返回文件最近访问时间
import os
result = os.path.getatime('test1')  # 返回结果是一个时间戳
print(result)

# 输出结果
"""
1584715747.7046256
# 转换后2020-03-20 22:49:07
"""
  • getmtime(path) 返回文件修改时间

  • getctime(path) 返回文件修改时间

import os
result = os.path.getctime('test1')  # 返回结果是一个时间戳
print(result)

# 输出结果
"""
1584715747.3763847
"""
  • getsize(path)返回文件大小
import os
result = os.path.getsize('test1')  # 返回文件大小b
print(result)

# 输出结果
"""
4096
"""
  • isabs(path) 判断是否为绝对路径
import os
result = os.path.isabs('test1')  # 返回文件大小b
print(result)

# 输出结果
"""
False
"""
  • isfile(path) 判断是否为文件
  • isdir(path) 判断是否为目录
  • samefile(path1, path2)判断路径是否指向同一个文件

必会方法

  • 初学者应该要基本掌握下面几个方法
  • join(path1,path2) 文件路径拼接 ,根据操作系统自动拼接文件路径
import os
a = os.getcwd() # 返回当前父路径
b = os.path.join(a, '004.py')
print(b)

# 输出结果
"""
/home/tlntin/PycharmProjects/study/004.py
"""
  • split(path)路径切割,切割结果为dirname和basename
import os
a = os.getcwd()
b = os.path.split('/home/tlntin/PycharmProjects/study/004.py')
print(b)

# 输出结果
"""
('/home/tlntin/PycharmProjects/study', '004.py')
"""
  • splitdrive(path),将路径切割成驱动器和驱动器下子路径,一般为windows下专用
  • splitext(path) 切割文本,将文件路径和扩展名分割
import os
a = os.getcwd()
b = os.path.splitext('/home/tlntin/PycharmProjects/study/004.py')
print(b)

# 输出结果
"""
('/home/tlntin/PycharmProjects/study/004', '.py')
"""
最后修改日期:2020年9月15日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。