关键字:python while if else 判断用户输入 创建文档 复制文件
前置:python3 ,目录是脚本当前目录。需要改目录的修改下脚本就好。
为了零基础的都能看懂,特意加了很多注释
代码实现的功能:自动拷贝文件,不存在则创建
请输入你要拷贝的文件名,将会在文件名加[副本],拷贝到当前目录下。源文件存在则拷贝。不存在则创建
# 请输入你要拷贝的文件名,将会在文件名加[副本],拷贝到当前目录下。源文件存在则拷贝。不存在则创建
import os.path
while True:
#以下所有分支会一直循环,一直到用户走入分支1则退出
old_fname = input('[退出程序请输入/]请输入您要拷贝的文件名.扩展名:')
# 如果用户输入/,则走分支1,退出
if str(old_fname) == '/':
print('Ese')
break
# 如果用户输入的文件名存在则走分支2:拷贝文件
elif os.path.isfile(old_fname)== True:
# 求点.的索引
my_position = old_fname.rfind('.')
# >0则表示用户输入了点,说明是有扩展名的,[:my_position]表示前缀名字,[my_position:]表示.xxx后缀
if my_position > 0:
new_fname= old_fname[:my_position] + '[副本]' + old_fname[my_position:]
# 如果用户没有填写扩展名,则走else分支,默认添加txt扩展名
else:
new_fname= old_fname + '[副本]' + '.txt'
# 用二进制方式打开新老文档,然后把老文档读取内容写入到新文档
old = open(old_fname, 'rb')
new = open(new_fname, 'wb')
new.writelines(old.readlines())
#用完记得关闭函数,不要消耗内存
old.close
new.close
print('拷贝成功')
# 如果用户输入的文件名存在则走分支3:给创建新文档
elif os.path.isfile(old_fname)!= True:
user_action1 = input('文件不存在,是否要创建呢?Y/N\n')
# 把用户输入的字母转换成小写
user_action = user_action1.lower()
if user_action == 'y':
old = open(old_fname, 'w')
my_content = old.write('test')
old.close
print('创建成功')
elif user_action == 'n':
pass
else:
print('输入无效 Ese')
运行效果: