应用1:制作文件的备份
任务描述
- 输入文件的名字,然后程序自动完成对文件进行备份
参考代码
# 提示输入文件 oldFileName = input("请输入要拷贝的文件名字:") # 以读的方式打开文件 oldFile = open(oldFileName,'rb') # 提取文件的后缀 fileFlagNum = oldFileName.rfind('.') if fileFlagNum > 0: fileFlag = oldFileName[fileFlagNum:] # 组织新的文件名字 newFileName = oldFileName[:fileFlagNum] + '[复件]' + fileFlag # 创建新文件 newFile = open(newFileName, 'wb') # 把旧文件中的数据,一行一行的进行复制到新文件中 for lineContent in oldFile.readlines(): newFile.write(lineContent) # 关闭文件 oldFile.close() newFile.close()
例子1:
# 01: 首先先创建一个源文件 然后写入数据 f = open("中国.txt", "w") # 写入数据 f.write("456789hi9h9udn") # 关闭文件 f.close()
例子2:
# 02: 打开源文件 读取源文件所有的数据 保存到一个变量中 old_f = open("中国.txt", "r") # 读取数据 # 如果文件比较大 一次读取 会导致内存暴涨 ret = old_f.read() # 关闭文件 old_f.close() # 03: 创建一个新的文件(中国[复件].txt) 把数据写入到新文件中 new_f = open("中国[复件].txt", "w") # 写入数据 new_f.write(ret) # 关闭文件 new_f.close()
例子3:
# 04: 以上代码进行优化 防止内存暴涨 # 解决方案: 边读边写 # 打开源文件 old_f = open("中国.txt", "r") # 创建新文件 new_f = open("中国[复件].txt", "w") # 创建一个死循环 while True: # 每次读一个字符 ret = old_f.read(1) if ret: # 写入数据 new_f.write(ret) else: # 完成了读写 break # 关闭两个文件 old_f.close() new_f.close() # python 中 非零即真(True) 零则假(False) # if 0: # print("哈哈") # 认为if语句判断字符串的时候外面有一个len函数 # if "": # print("哈哈")