os模块
os模块需要先引用
import os
常用方法有
# os.rename('old','new') #重命名old为new
# os.remove('') #删除某个文件
# print(os.listdir(r'c:\Users')) #列出某个目录下的所有内容 加上r代表后面的字符串不做转义
# print(os.getcwd()) #获取当前的目录
# print(os.path.getsize('深拷贝.py')) #获取某个文件的大小
#os.mkdir('test/abc') #只能当前目录创建
#os.makedirs('test/abc') #级联创建,相当于加了-p参数
#print(os.path.exists('test/abc')) #判断是否存在文件夹或者文件
# print(os.path.isdir('abc')) #判断是否是文件夹
# print(os.path.isfile('深拷贝.py')) #判断是否是文件
# print(os.getcwd()) #取当前目录
#
# os.chdir(r'/Users/gaometeor/PycharmProjects/meteor/day5') #切换目录地址
# print(os.getcwd())
# open('111111.txt','w')
#os.chdir(r'/Users/gaometeor/PycharmProjects/meteor/day5')
# resault = os.system('cd . && ls -l') #执行操作系统命令,但是拿不到命令执行结果
# print('resault=============',resault)
# resault = os.popen('ifconfig').read() #可以拿到执行命令的结果
# print('resault=============\n',resault)
# print(os.cpu_count()) #获取CPU核数
#d:\abc\dadf
#/opt/test
# BASE_PATH = r'd:\test' #前面加r,\不做转义ß
# file_path = BASE_PATH +r'\' +'123.txt'
# resault = os.path.join('test','case','123.txt') #连接路径的
# print(resault)
# print(os.path.exists('ball.txt')) #判断目录、文件是否存在
# os.path.split() #分割路径和文件名
# p = r'/opt/test/a.txt'
# print(os.path.split(p))
# os.path.dirname() #取父目录
# p = r'/opt/test'
# print(os.path.dirname(p))
# os.path.abspath() #取绝对路径
# p = r'/opt/test/123.txt'
# print(os.path.abspath(p))
# print(os.path.getatime('ball.txt')) #文件最后访问时间
# print(os.path.getctime('ball.txt')) #文件创建时间
# print(os.path.getmtime('ball.txt')) #文件最后修改时间
# os.chdir('../ebook/ebook/spiders/down')
# os.system('ls')
# resault = os.path.abspath('../day5') #根据相对路径获取绝对路径
# print(resault)
举个例子:
# 统计e盘下面有多少个.txt 结尾的文件
# count = 0
# for cur_dir,dirs,files in os.walk('../',): #cur_dir当前循环到的目录 dirs当前目录下的目录 files当前目录下的文件
# for file in files:
# if file.endswith('.py'):
# count+=1
# print('count',count)
例子2
#找到某人电脑里存的.mp4的电影有多少部,找出来在哪个目录下存的
# count = 0
# for cur_dir,dirs,files in os.walk(r'../',): #cur_dir当前循环到的目录 dirs当前目录下的目录 files当前目录下的文件
# for file in files:
# if file.endswith('.mp4'):
# #print(os.path.abspath(cur_dir))
# real_path = os.path.join(os.path.abspath(cur_dir),file)
# print(real_path)
# count+=1
# print('count',count)
自己写的一个函数,查找输入的目录dir下有没有输入的文件名file
def find_file(file,dir):
l =[]
for cur_dir,dirs,files in os.walk(dir,): #cur_dir当前循环到的目录 dirs当前目录下的目录 files当前目录下的文件
for f in files:
if file == f:
res = os.path.join(os.path.abspath(cur_dir),f)
l.append(res)
if l:
print('\n'.join(l))
else:
print('未找到文件!')
结果如下:
find_file('ball.t1xt',r'../')
未找到文件!
find_file('ball.txt',r'../')
/Users/xxx/PycharmProjects/x/dx/ball.txt
/Users/xxx/PycharmProjects/x/dx/ball.txt