笨办法学Python3 习题16 读写文件
知识点:
- a_txt = open(file_a) # 默认只读模式打开文件 file_a ,赋值变量 a_txt,后面好执行读取命令
- b_txt = open(file_b,"w") # 以write 写入模式打开文件 file_b ,赋值变量 b_txt // 还有 "r" 只取模式,"a" 追加模式
- a_txt_r = a_txt.read() # 读取文档a_txt 赋值变量 a_txt_r
- b_txt.write(a_txt_r) # b_txt.write(a_txt.read()) // 将文档 a_txt 的内容读取后写入文档 b_txt
- b_txt.truncate() # 擦除文档 b_txt 里的内容
- b_txt.seek(0) # 将读写位置移动到文件开头
- b_txt.readline() # 读取 b_txt 中的一行,用 b_txt.seek(0) 将读写位置移到开头,读取的就是第一行 ,依次可读取下一行
- b_txt .close() # 关闭文档b_txt,用完文档必须关闭
脚本运行内容:
- 系统模块导入参数变量
- 解包参数变量
- 弹出提示,需要用户输入回车或者ctrl+c
- 写入方式打开文件
- 运行擦除文件
- 用户输入三行文件内容
- 写入这三行内容到该文件,需要用换行符
- 关闭文件
1 from sys import argv
2
3 script, filename = argv
4
5
6 print(f"现在我们需要擦除{filename}.")
7 print("如果你需要停止运行就按下CTRL+C.")
8 print("如果你同意运行擦除文件,就按下回车键.")
9 input("?")
10
11 print("打开这个文件")
12 txt = open(filename,'w') # 以写入模式(代表write)打开文件并把内容赋值给变量,才能后续擦除//注意代码格式一定要英文,不能中文 // 文件不用提前创建,程序运行中自动会创建
13
14 print(f"运行擦除文件{filename},byebye.")
15 txt.truncate() # 运行文件擦除
16
17 print("现在需要你说三行文字。")
18 line1 = input("line1:") # 用户写入第一行内容赋值给变量
19 line2 = input("line2:")
20 line3 = input("line3:")
21
22 print(f"我现在把这三行文字写入文件{filename}.")
23 txt.write(line1) # 执行写入命令,把第一串文字写入
24 txt.write("\n") # 执行写入命令,换行
25 txt.write(line2) # 执行写入命令,把第二串文字写入
26 txt.write("\n") # 执行写入命令,换行
27 txt.write(line3) # 执行写入命令,把第一串文字写入
28 txt.write("\n") # 执行写入命令,换行
29
30 print(f"现在我们要关闭这个文件{filename},虽然不关闭也能保存,但是程序多了,文件会泄露导致系统崩溃,所以需要关闭.")
31 txt.close() # 执行关闭文件
PS C:\Users\Administrator\lpthw> python ex16.py ex16-2.txt
现在我们需要擦除ex16-2.txt.
如果你需要停止运行就按下CTRL+C.
如果你同意运行擦除文件,就按下回车键.
?
打开这个文件
运行擦除文件ex16-2.txt,byebye.
现在需要你说三行文字。
line1:good
line2:very good
line3:hello!
我现在把这三行文字写入文件ex16-2.txt.
现在我们要关闭这个文件ex16-2.txt,虽然不关闭也能保存,但是程序多了,文件会泄露导致系统崩溃,所以需要关闭.