- close – 关闭文件。跟你编辑器的 文件->保存… 一个意思。
- read – 读取文件内容。你可以把结果赋给一个变量。
- readline – 读取文本文件中的一行。
- truncate – 清空文件,请小心使用该命令。
- write(stuff) – 将 stuff 写入文件。
from sys import argv
scripts,filename = argv
print("We are going to erasing %r" %filename)
print("If you don't want that,hit Ctrl-C(^C)")
print("If you want that,hit Enter")
input('?') #这里相当于是一个简单的选择,看是否要继续下去,按Enter则继续
print("Open the file....")
target = open(filename,'w') #首先将filename的内容赋给变量target,这里多了一个'w',表示write,即写模式
print("Truncating the file,Goodbye")
target.truncate() #将ex16_sample.txt文件里面的内容全部清空
print("Now I'm going to ask you for three lines")
line1 = input('line1:') #输入各行的内容,并将输入参数赋给line变量
line2 = input('line2:')
line3 = input('line3:')
print("I'm going to write these lines to file")
target.write(line1) #将line变量的内容通过write函数写到target变量中
target.write('\n')
target.write(line2)
target.write('\n')
target.write(line3)
target.write('\n')
print("And finally,we close it.")
target.close() #结束target变量,相当于保存target变量中的新内容到ex16_sample.txt中去
原本ex16-sample.txt内容如下
执行完脚本之后,变成了对应输入的内容,如下
思考:
(1)文件中重复的地方太多了。试着用一个 target.write() 将 line1, line2, line3 打印出来,你可以使用字符串、格式化字符、以及转义字符。
target.write(line1 +’\n’ + line2 +’\n’ + line3) 通过加号拼接
(2)open 对于文件的写入操作态度是安全第一,所以你只有特别指定以后,它才会进行写入操作。
open命令详细参数表示参考:open命令