19.系统目录 & 上下文操作

上下文操作通俗的说就是文件操作:

我们在平时常见的中有如下文件:

后缀txt --- 文本文件

后缀 csv --- 表格式存储文件

后缀docx --- word文档文件

后缀xlsx --- excel表格文件

后缀jpg png.. --- 图片文件

后缀 cfg --- 配置文件

后缀 MP4 .. --- 视频文件

后缀html py java ... --- 编程程序文件

后缀 exe --- 可执行文件

创建一个文件:

# 在当前目录下创建一个 text1.txt的文本文件

# 方法1
path = './'
file = open(path + 'test1.jpg','w')
file.close()

# 方法2
path = './'
with open(path + 'text.txt','a') as f:
    f.write('111')

对 'w' 做一些解释说明:

这里的参数可以是 'r' 'r+' 'rb' 'rb+'  'w' 'w+' 'wb' 'wb+' 'a' 'a+' 'ab' 'ab+'

详细的解释baidu比比皆是 自行翻阅

注:图片文件为二进制文件!写入时注意

2.创建目录

# 在当前目录下创建一个 text目录
import os

path = './'
os.mkdir(path + 'text')

注:当目录存在时,不可再进行创建

3.创建判断目录

# 在当前目录下创建一个 text目录
import os

path = './'
if not os.path.exists(path + 'text'):
    os.makedirs(path + 'text')
else:
    print('您已经创建这个目录了')

这就避免了异常的抛出

4.目录的遍历

大量的目录和文件进行遍历进行操作

# 查看当前目录下的子目录和文件
import os

path = './'
file_list = os.listdir(path)
print(file_list)

当前目录下的所有文件or目录名字都存放在file_list中,这是个列表结构

5.目录文件之间的递归搜索

找出某个目录下的所有txt文件

# 找到某个目录下的自己需要的类型文件
import os
allfile = []
# 递归函数
def getallfile(path):
    allfilelist = os.listdir(path)
    for file in allfilelist:
        # 路径拼接方法
        filepath = os.path.join(path, file)
        # 判断是不是文件夹
        if os.path.isdir(filepath):
            getallfile(filepath)
        allfile.append(filepath)
    return allfile
if __name__ == '__main__':
    path = r"./"
    allfiles = getallfile(path)
    for item in allfiles:
        if '.txt' in item:
            print(item)

所谓递归就是函数嵌套函数 无休止的往下执行 到某个终止条件停止

6.文件复制,移动,文件重命名

# 找到某个目录下的自己需要的类型文件
import os,shutil

# 重命名
file = './text.txt'
os.rename(file,'./my.txt')

# 复制 & 移动
file = './text.txt'
shutil.copy(file,'./my_text/text.text')
shutil.move(file,'./my_text/text.text')

结束

posted @ 2022-02-18 17:48  锋芒毕露的蜘蛛  阅读(54)  评论(0编辑  收藏  举报