5.18-笨办法学python-习题15(open等读取文件)

from sys import argv 
script,filename=argv 
#不要忘了script(相当于一个固定变量),filename(可变变量)
txt=open(filename) #只读filename这个文件
#open()函数
#open(name[, mode[, buffering]])
#name:文件名
#mode 决定了打开文件的模式:只读,写入,追加等(默认为只读r)
#r    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
#r+    打开一个文件用于读写。文件指针将会放在文件的开头。
#w    打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
#w+    打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
#a    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
#a+    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
#buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认
print("Here is your file %r:"%filename) #打印here is your file "filename"
print(txt.read()) #对txt执行read命令并且打印结果(就是打印txt的内容啦)
print("type the filename again:") #打印type the filename again:
file_again=input(">") #用input键入,'>'这个是用户提示符
txtagain=open(file_again) #只读刚刚键入的txtagain文件
print (txtagain.read()) #对txtagain执行read命令并打印结果
#file 对象方法:比如说“对txt执行read命令且打印结果。
#file.read([size]):若不加size则返回整个文件。.f.read()读到文件尾时返回""(空字串)
#file.readline() 返回一行,比如有三行要读三行就要输入三次readline命令
#file.readlines([size]) 返回包含size行的列表,size 未指定则返回全部行
#for line in f: print (line) #通过迭代器访问
#f.write("hello\n") #如果要写入字符串以外的数据,先将他转换为字符串
#f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).
#f.close() 关闭文件
###!!!!!在cmd里调用ex15的时候,一定在要读取的文本前加路径!!!
### python\demo\ex15.py e:\python\demo\ex15_sample.txt
#-------------------------------------------------------------#分隔符
#一个关于file.function的例子(一个个来运行不要一起运行)
file=open('E:\python\demo\ex15_sample.txt','r+')
print(file.read())   #读取全部(感觉会用的比较多)
print(file.read(3))   #读取前三个字符:Thi
print(file.readline()) #读取一行,每次只读一行
print(file.readlines())  #读全部
#file.readlines([size]) size未指定返回全部行,每一行连着输出,会有换行符/n,,每一行的内容用’‘引住

划重点!!!

1、open()函数,具体的内容写在上面了。需要注意的是,在对文件进行进一步操作时,一定要先open啊!!!

2、file 对象方法

3、read(),read(size),readline(),readlines()这一个大家族

posted @ 2018-05-18 12:32  ZhengXixide  阅读(407)  评论(0编辑  收藏  举报