os 模块提供了非常丰富的方法用来处理文件和目录。
opration system 操作系统,os模块获取电脑的相关信息,并且有很强大的文件和文件夹操作的能力。在操作文件或者文件夹的时候,就要引入os模块
import os
cpuCount = os.cpu_count()
print(cpuCount)
获取电脑Cpu的个数,输出结果如下:
name = os.name
print(name)
输出结果为:
nt代表的是windows操作系统,linux为posix。
result = os.path.exists('2.home.py')
if result:
print('存在')
else:
print('不存在')
文件不存在就会输出不存在。
在桌面上创建一个“os测试”的文件夹,文件夹的目录为“C:\Users\Administrator\Desktop\os测试”
result = os.path.exists('C:/Users/Administrator/Desktop/os测试/python.txt')
print(result)
输出结果为“True”就是目标文件夹中有这个文件,输出结果为“False”就是目标文件夹中没有这个文件。
result = os.getcwd()
print(result)
这个结果就是当前文件的绝对路径。
在计算机当中,获取当前文件路径,用'.',获取父文件路径,用‘..’
result = os.path.abspath('.')
print(result)
result = os.path.abspath('..')
print(result)
获取指定文件的对应的绝对路径
result = os.path.abspath('周二.txt')
print(result)
获取文件路径中的某一部分,例如刚才创建的“C:\Users\Administrator\Desktop\os测试”
result = os.path.basename('C:/Users/Administrator/Desktop/os测试')
print('路径的basename:{}'.format(result))
运行结果为:
公共部分的输出:
result = os.path.commonpath(['C:/Users/a/Desktop/os测试',
'C:/Users/a/Desktop/同屏',
'C:/Users/a/Desktop/文件夹集合'])
print('路径的公共部分为:{}'.format(result))
运行结果为:
以"/"分割,将路径分成几部分,找到公共的这一个部分。
result = os.path.commonpath(['http://www.baidu.com',
'http://www.jd.com',
'http://www.taobao.com'])
print('网址的公共部分为:{}'.format(result))
输出结果为:
directory name 获取指定文件所在的文件夹路径。
result = os.path.dirname('C:/Users/Administrator/Desktop/os测试/python.txt')
print(result)
获取文件夹 信息文件夹信息包括 创建日期 修改日期 访问日期
import time
#getctime 获取
result = os.path.getctime('C:/Users/Administrator/Desktop/os测试')
print('文件创建日期是:{}'.format(time.localtime(result)))
运行结果是:
ime.struct_time(tm_year=2018, tm_mon=7, tm_mday=3, tm_hour=9, tm_min=43, tm_sec=50, tm_wday=1, tm_yday=184, tm_isdst=0)
result = os.path.getatime('C:/Users/Administrator/Desktop/os测试')
print('文件访问日期是:{}'.format(time.localtime(result)))
运行结果为:
文件访问日期是:time.struct_time(tm_year=2018, tm_mon=7, tm_mday=3, tm_hour=11, tm_min=3, tm_sec=48, tm_wday=1, tm_yday=184, tm_isdst=0)
result = os.path.getmtime('C:/Users/Administrator/Desktop/os测试')
print('文件修改日期是:{}'.format(time.localtime(result)))
运行结果为:
文件修改日期是:time.struct_time(tm_year=2018, tm_mon=7, tm_mday=3, tm_hour=11, tm_min=3, tm_sec=48, tm_wday=1, tm_yday=184, tm_isdst=0)
result = os.path.getsize('C:/Users/Administrator/Desktop/os测试')
print(result)
运行结果是0,说明文件大小是0.
result = os.path.isfile('C:/Users/Administrator/Desktop/os测试/python.txt')
print('{}'.format(result))
spilt 分割 分割路径
result = os.path.split('C:/Users/Administrator/Desktop/os测试/python.txt')
print('{}'.format(result))
运行结果为:
('C:/Users/Administrator/Desktop/os测试', 'python.txt')
以文件后缀分割
result = os.path.splitext('C:/Users/Administrator/Desktop/os测试/python.txt')
print('{}'.format(result))
运行结果为:
('C:/Users/Administrator/Desktop/os测试/python', '.txt')
# os.mkdir('test')
os.chdir('test')
os.path.abspath('..')
os.chdir(os.path.pardir)
print('111{}'.format(os.getcwd()))
os.mkdir 是创建一个文件。
# open 打开
# 打开指定的文件
# 如果文件不存在 则创建
f = open('os.txt','w',encoding='utf-8')
f.write('Hello World\n')
f.write('你好\n')
f.writelines(['张三\n','李四\n','王五\n'])
f.close()
# 当文件关闭后 不能再继续对这个文件进行操作
在写的时候还有一种写法:
with open('code2.txt','r',encoding='utf-8') as f:
f = open('code.txt','r',encoding='utf-8')
# 读一行
content = f.readline()
print(content)
# 将读出的结果 放入列表中
content = f.readlines()
print(content)
f.close()
# 文件内容追加---------------------
f = open('new.txt','w',encoding='utf-8')
f.write('a,b,c,d\n')
f.close()
# a : append 追加;添加
f = open('new.txt','a',encoding='utf-8')
f.write('e')
f.close()
运行结果为: