《笨方法学 Python 3》15.读取文件---open

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/waitan2018/article/details/82317077

笔记:

内置函数 open():打开文件,参数如下:

 open(file,'r')       以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
 open(file,'r+')     打开一个文件用于读写。文件指针将会放在文件的开头,在此模式写入时会替换文件开头的内容。
================================================================================================
open(file,'w')     打开一个文件只用于写入。如果该文件已存在则打开文件,会清空原有内容,写入时从头开始编辑。如果该文件                           不存在,创建新文件。 

open(file,'w+')   打开一个文件用于读写。如果该文件已存在则打开文件,会清空原有内容,如果该文件不存在,创建新文件。                             写入时从头开始编辑。写完光标放在文件末尾,此时读取不到内容,可以用seek()移动光标到文件起始位置。
 ================================================================================================
open(file,'a')     打开一个文件用于追加,文件指针将会放在文件的结尾。新的内容将会被写入到已有内容之后。如果该文件不存                            在,创建新文件进行写入。

open(file,'a+')   打开一个文件用于追加读写,文件指针将会放在文件的结尾。新的内容将会被写入到已有内容之后。如果该文件                            不存在,创建新文件用于读写。打开时和写完后读取不到内容,因为光标在文件末尾位置,可以用seek()移动光                            标到文件起始位置来读取。

注:以上所有的参数加上b(例如'rb+'), 则是以二进制读取,在以后用到socket的时候,传输文件,读取和写入用的都是二进制形式,可以更快速的进行文件的传输;

                         

基础练习:

from sys import argv

script, filename = argv

#open---打开文件,注意open返回的是文件对象(file object),然后赋值给txt;
txt = open(filename)

print(f"Here's your file {filename} :")
#从open获得的是文件(file),文件本身也可以接受你给它的命令,接受的方式是在文件后使用句点“.”,句点后紧跟你要给它的命令;
#read()---读取文件内容,print()打印出来;
print(txt.read())

print("Type the filename again :")
file_again = input("> ")

txt_again = open(file_again)

print(txt_again.read())

注意:

第6行使用了新的函数打开,具体看一下第5行的注释;

第11行使用了新函数读(),具体看一下第9,10行的注释;

结果:

注意: 

一定要有一个名为ex15_sample的TXT文件,结果有很大的间隔是因为我在TXT文件中的末尾加了两个回车;


瞎折腾: 

1.试一下关闭(),处理完的文件要把它关闭,这个非常重要要;

from sys import argv

script, filename = argv

txt = open(filename)

print(f"Here's your file {filename} :")
print(txt.read())
txt.close()

2.上面的结果虽然没报错,但也看不出来是否关闭,所以试着在关闭文件后再读取并打印文件

from sys import argv

script, filename = argv

txt = open(filename)

print(f"Here's your file {filename} :")
print(txt.read())
txt.close()

#再次读取并打印
print(txt.read())

 结果显示:上面结果是对的,关闭后再次读取就报错了:文件的输入输出操作已关闭;

3.在PowerShell的中录入的Python代码

先在Python的中打开文件

报错了:名字没有定义,然后试下名字加上 ''

这次可以了,读()一下,但是显示格式很奇怪,但是打印()一下就好了

然后在蟒蛇中编辑多行代码试试

EMM,出来的是很奇怪的东西,也没报错,换一种写法试试

现在好了,真是纯属瞎折腾;

 

结束!!!

展开阅读全文

没有更多推荐了,返回首页