# coding='utf-8'
"""
task:自定义文件复制工具
- 思路讲解
- 打开源文件,判断源文件是否有效,有效进行后续操作
- 新文件名字的生成 旧文件名+[复件]+.后缀(用到查找rfind,以及切片操作)
- 开始复制文件(1. 整体复制 2.循环逐行复制)
- 关闭文件
version:1.0
author:ZXQ
date:2020-5-7
"""
import os
# 分割文件名和文件后缀的操作
# example:C:/Users/Administrator/PycharmProjects/Py20/test01.txt
def get_new_file_name(old_file):
# 获取‘.’的索引
index_of_spot = old_file.rindex('.')
# 获取最后一个‘/’的索引
index_of_backslash = old_file.rindex('/')
# 获取原始文件路径
old_file_path = old_file[:index_of_backslash + 1]
# print('原始文件路径' + old_file_path)
# 获取原始文件名
# old_file_name = old_file[index_of_backslash + 1:]
# print(old_file_name)
# 获取文件后缀
suffix = old_file[index_of_spot:]
# print(suffix)
# 新文件名
new_file_name = old_file[index_of_backslash + 1:index_of_spot] + '[复制]' + suffix
# print(new_file_name)
# 返回新文件名
return new_file_name, old_file_path, suffix
def copy_2_file(old_file):
# 判断文件是否存在
if os.path.exists(old_file):
if get_new_file_name(old_file)[2] == '.txt':
# 打开文件
with open(old_file, 'r', encoding='utf-8') as f:
# 读取文件中的内容
content = f.read()
# 得到新文件名
new_file_name = get_new_file_name(old_file)[0]
# 创建新文件
new_file_path_name = get_new_file_name(old_file)[1] + new_file_name
with open(new_file_path_name, 'w', encoding='utf-8') as new_file:
# 向新文件中写入内容
new_file.write(content)
print('文件复制成功!新文件命名为:%s' % new_file_name)
else:
print('暂不支持该格式的文件复制,敬请期待新版本!')
else:
print('目标文件:%s 不存在,请核实!' % old_file)
if __name__ == '__main__':
copy_2_file('C:/Users/Administrator/PycharmProjects/Py20/test01.txt')
copy_2_file('D:/Users/Administrator/PycharmProjects/Py20/test01.txt')
copy_2_file('C:/Users/Administrator/Desktop/哈哈哈.txt')
copy_2_file('C:/Users/Administrator/Desktop/pub60.pdf')
自定义文件复制工具
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...