1.复制一个文件内容到另一个文件
import os
os.chdir('open-case') # 切换到对应目录下
from_file = open('aa.txt', 'r', encoding='utf-8') # 打开aa文件
to_file = open('bb.txt', 'a', encoding='utf-8') # 打开bb文件
content = from_file.read() # 读取aa文件中内容
to_file.write(content) # 把内容写入bb文件
from_file.close()
to_file.close()
2.上面的案例如果文件过大,采取分段读取的方式来解决
from_file = open('aa.txt', 'r', encoding='utf-8') # 打开aa文件
to_file = open('bb.txt', 'a', encoding='utf-8') # 打开bb文件
# content = from_file.read() # 读取aa文件中内容
# to_file.write(content) # 把内容写入bb文件
while True:
content = from_file.read(1024)
if len(content) == 0:
break
to_file.write(content)
from_file.close()
to_file.close()
3.案例一
# 1.获取所有文件名列表
import os
os.chdir('open-case') # 这里加上目录定位,下面就要写当前文件夹
file_list = os.listdir('./') # 如果再写open-case,就是指open-case下的open-case
# 2.遍历所有文件名称
# 2.1.分解文件的后缀名(获取最后一个点的位置)
for name in file_list:
print(name)
index = name.rfind('.')
# 如果文件夹下有目录,那么就不存在上面的点,这里要做一个容错处理
if index == -1:
continue
print(index)
# 2.2.根据最后一个点的索引位置,以这个位置为起始点,来截取后面的字符串
last_name = name[index + 1:]
print(last_name)
# 3.查看是不是存在同名的目录
# 4.如果不存在直接创建一个同名目录
import shutil # 提供移动文件功能
if not os.path.exists(last_name):
os.mkdir(last_name)
shutil.move(name, last_name) # 把文件移动到新创建的目录
4.案例二
# 4.使用递归函数生成一个文件清单
import os
# 4.os+os.path文件目录操作模块.chdir('open-case')
def file_list(dir):
files = os.listdir(dir) # 1.列举出当前文件夹下的所有文件和子目录
# print(files)
for file in files: # 2.把列举出来的列表进行遍历
new_filename = dir + '/' + file # 把文件或者文件夹目录进行拼接一下,防止传入参数不是当前目录
if os.path.isdir(new_filename): # 3.判定的目录还是文件
print(new_filename)
file_list(new_filename) # 使用递归函数深层挖掘
else:
print('\t' + file) # 4.打印文件名称
print('') # 加个换行
file_list('open-case')