File|File Operations

作者从事的工作是嵌入式,对于很多人来说,嵌入式是个陌生的概念,嵌入式是一个和硬件打交道的行业,简儿言之就是操作硬件,对于高级语言如c++/golang等是无法直接编译成可执行文件,python这种解释型语言就更加无法直接控制硬件了,无法直接控制,那就是说可以间接控制咯,是的,不过这些都是建立在人们将硬件抽象成设备文件的基础上的,使用高级语言控制硬件转变为对设备文件的读写等操作了,比如BBB、树莓派等。本文只是针对文件的正常读写操作,不涉及硬件控制。
Open
这一步是不可以省略的,要获得对一个文件的控制权,首先需要通过open(filename,mode)返回一个file object。

The first argument is a string containing the filename. The second argument is another string containing a few characters describing the way in which the file will be used. mode can be'r'when the file will only be read,'w' for only writing (an existing file with the same name will be erased), and 'a' opens the file for appending; any data written to the file is automatically added to the end.'r+' opens the file for both reading and writing. The mode argument is optional; 'r' will be assumed if it’s omitted
接下来我们用实例来证明。我们先创建一个test.txt在里面输入how are you!,然后执行编写fileoperation.py,py内容如下:
fd = open("test.txt","r")
print(fd.read())

然后执行python fileopeartion.py。 结果如下:
File|File Operations
文章图片
执行结果 注意 text.txt和fileoperation.py文件实在同一个文件夹的。此时如果我们执行fd.write(),因为我们没有权限。 读者可以自行尝试。
Read And Readline():
读模式分为两种,读整个file或者单行读。fd.read() 等效于 :
for line in fd:
print(line,end=' ')
而fd.readline()表示读取当前行,执行一个fd.readline()之后,再执行下一个fd.readline则读取下一行,每执行一次,读取一行。
Close()
对一个文件的使用之后一定要记得使用fd.close()来关闭。
with open("xxx","x") as fd:
It is good practice to use the with keyword when dealing with file objects. This has the advantage that the file is properly closed after its suite finishes, even if an exception is raised on the way. It is also much shorter than writing equivalent try-finally blocks:

使用这种形式来打开一个文件的方式的原因在于:1、这样如果open出错也能确保将其关闭2、对于同样有保护功能的try-finally方式,采用with的方式则更加间接快速。
【File|File Operations】以上都是基于文本模式的时候执行的,那么也有二进制的模式打开,则需要使用关键字符‘b’.文中就不再陈述,有需要的请自行google:www.python.org/3/tutotial.

    推荐阅读