目录
一、输出目录所在的文件以及文件夹
二、遍历、搜索文件及查询文件信息
三、创建临时文件及文件夹
四、批量创建、复制、移动、删除、重命名文件及文件夹
五、创建和解压压缩包
import os
print(os.getcwd())#获得当前文件的地址
print(os.path.join('MyProjects','AI'))#让Python自动处理路径连接
for item in os.listdir():#列出该文件下的所有文件
print(item, os.path.isdir(item))#循环一遍看谁是文件谁是文件夹
#os.scandir(指定的绝对路径或者相对路径)
for file in os.scandir():
print(file.name, file.is_dir())
import os
import glob
import fnmatch
import datetime
'''
第一、
#dirnames是dirpath这个文件夹下的子文件列表
for dirpath, dirnames, files in os.walk('./'):#把文件夹里的文件夹里的文件夹的文件都找出来
print(f'发现文件夹{dirpath}')#dripath是文件路径
print(files)#files是dirpath这个文件夹里的文件列表
'''
'''
第二、
#字符串A.startswith(字符串B):字符串A是否以字符串B开头
#字符串A.endswith(字符串B):字符串A是否以字符串B结尾
print('makerbean'.startswith('abc'))
print('makerbean'.endswith('bean'))
'''
#print(glob.glob('*.py'))#文件搜索匹配
#print(fnmatch.fnmatch('makerbean','m*an'))#匹配文件名
that_time = datetime.datetime.formtimestamp(1567764428)
print(that_time)
from tempfile import TemporaryFile #创建临时文件存储数据
from tempfile import TemporaryDirectory
#open,readlines(),close()
'''
#读取文件
with open('file1.txt','r',encoding='utf-8') as f:
text = f.readlines()
print(text)
#写入文件
# 'w'换成'a':如果存在文件,会接着里面的内容后面继续写入
with open('file2.txt','w',encoding='utf-8') as f:
text = '第一行内容\n第二行内容\n'
f.write(text)
f.write('第三行')
#创建临时文件存储数据
with TemporaryFile('w+') as f: # 'w+'表示写入及读取文件
f.write('Hello毕老师!')
f.seek(0) # .seek(0)表示回到文件开头位置
data = f.readlines() # 程序运行完后会自动删除临时文件
print(data)
'''
#创建临时文件夹
with TemporaryDirectory() as tmp_folder:
print(f'临时文件夹已创建:{tmp_folder}')
import os
import shutil
if not os.path.exists('新文件夹'): #检测该文件夹是否存在
os.mkdir('新文件夹') #创建文件夹
#shutil.copy(复制文件,要复制的位置)
shutil.copy('file.txt','./新文件夹')
shutil.copy('file.txt','/新文件夹/new_file.txt')#第二个参数写到某个文件路径,复制到这个路径并且重命名
#shutil.copytree(要复制的文件夹,要复制到的新文件夹位置)
shutil.copytree('新文件夹','这是一个新文件夹')#新文件夹不能存在
#shutil.move(要移动的文件夹/文件夹,要移动的位置)
shutil.move('file2.txt','这是一个新的文件夹/file3.txt')
#os.rename(要重命名文件/文件夹,新名字)
#os.remove(要删除的文件)
#shutil.rmtree(要删除的文件夹)
将所有文件都提取出来 .extractall(path=解压到哪个位置,pwd=b'密码')
创建压缩包zipobj.write(待压缩文件名)
import zipfile
#读取压缩包内文件
with zipfile.ZipFile('这是一个压缩包.zip','r') as zipobj:
for filename in zipobj.namelist():
info = zipobj.getinfo(filename)#获取文件中的文件信息
new_filename = filename.encode('cp437').decode('gbk')#处理压缩包里的中文
print(new_filename,info.file_size,info.compress_size)
#解压压缩包
with ziofile.ZipFile('这是一个压缩包.zip','r') as zipobj:
zipobj.extract('file1.txt','C:')
#中文乱码解决办法
for file_name in zipobj.namelist:
correct_path = file_name.encode('cp437').decode('gbk')
#将所有文件都提取出来 .extractall(path=解压到哪个位置,pwd=b'密码')
#创建压缩包zipobj.write(待压缩文件名)
file_list = ['lesson1.py','lesson2.py','lesson3.py','file1.txt']
with zipfile.ZipFile('这是程序创建的压缩包.zip','w') as zipobj:
for file in file_list:
zipobj.write(file)