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')
结束