python 模拟windows拷贝文件

本文介绍了一个Python脚本,用于复制文件并自动重命名副本,避免与原文件或其他副本冲突。脚本通过读取源文件的二进制内容,并将其写入新文件中实现复制。如果目标文件名已存在,则会在文件名后添加-副本(i),其中i为递增的数字,直至找到未被占用的文件名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import os

# 获取文件名
file_path = input("请输入要复制的文件地址:【例如】d:/test.txt")
path_idx = file_path.rfind("/") # 路径标识截取
file_path_1 = file_path[:path_idx + 1] # 截取路径
file_name = file_path[path_idx + 1:] # 截取文件名
# 判断并确定新的文件名
idx = file_name.rfind(".")
file_name_1 = file_name[:idx] # 文件名前半段
file_name_2 = file_name[idx:] # 文件名后半段
new_file_name = ''
# 判断副本文件是否存在
if os.path.exists(file_path_1 + file_name_1 + " - 副本" + file_name_2) == False:
new_file_name = file_path_1 + file_name_1 + " - 副本" + file_name_2
else:
for i in range(2, 100):
# 判断副本(i)文件是否存在
if os.path.exists(file_path_1 + file_name_1 + " - 副本(" + str(i) + ")" + file_name_2) == False:
new_file_name = file_path_1 + file_name_1 + " - 副本(" + str(i) + ")" + file_name_2
break
else:
i += 1
continue
# 复制程序开始
file = open(file_name, "rb")
file1 = open(new_file_name, "wb")
while True:
info = file.read(1024)
if not info:
break
file1.write(info)
file.close()
file1.close() # 复制程序结束

print(os.listdir(file_path_1))

转载于:https://www.cnblogs.com/sunmingduo/p/10218964.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值