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
posted @ 2019-04-28 14:08  狂爷  阅读(170)  评论(0编辑  收藏  举报