第九章、注释、文件读写

9.1.注释

python的注释对代码的执行不起任何作用。它是用来帮助读者理解代码的

对初学者来说,写注释好像很痛苦

但是对于老司机来说,注释对保证代码可读性至关重要。因为在一个公司里,需要团队协助开发的时候。你的代码会有其他人来读的。而且

即使是你只打算给自己看得代码,如果没有教好的注释,很可能过了几个月,自己都看不懂

 

python注释的有如下几种:

** 全行注释

#分别是主机地址和端口号
hostaddress = ('182.168.12.34',80)

** 行内地址

ipaddress = '192.168.1.34'      #ssh地址

** 多行注释

...
以下分别是主机地址
还有端口号
...

hostaddress = ('192.168.1.3',80)

** 函数doc string注释

def demo():
     "this is a doc string"
      return True

9.2.文件的读写

文件的操作,比如读取,写入,是计算机软件经常要干的事情

9.2.1.文件对象

不管是文件的读取,还是写入,我们都是通过一个文件对象,进行操作。而文件对象的获取,则是通过python内置函数open来得到的

 

open的基本语法如下

file_object = open(file_name,access_mode='r')

其中file_name是文件名,可以是绝对路径或者相对路径

access_mode 是访问方式。文件有很多种访问方式,常见的是一下几种:

*** r

只是为了读取文件而打开文件。文件指针在文件的开头。这也是缺省的文件打开方式。

*** w

只是为了写文件而打开文件。如果文件已经存在,其内容将被清空。如果文件不存在,则创建一个文件

*** a

只是为了在文件末尾追加内容而打开文件。如果文件存在,文件指针在文件的结尾,如果文件不存在,则创建一个文件

*** r+

为了读取并且写文件而打开文件。文件指针在文件的开头。如果文件不存在,会报错

*** w+

为了读取并且写文件而打开文件。如果文件已经存在,其内容将被清空。如果文件不存在则,创建一个文件

#如下是一些打开文件的例子
fp = open('d:/file'1)       #以只读方式打开文件
fp = open('test','w')       #以写文件方式打开
fp = open('data','r+')     #r+读取 并且写入文件

 

9.2.2.文件内容的读取

*** read

文件对象有个方法read,用来读取文件的内容。

read方法可以有一个参数size表示读取多少个字节的内容。如果不填写该字节,表示读取所有的文件内容

我们假设,文件test.txt内容如下

Augus
xkdvkdkvld
optest

执行如下代码

fh = open(r'H:\test.txt')
st1 = fh.read(2)
print(st1)
Au

st2 = fh.read(2)
print(st2)
gu

st3 = fh.read()
print(st3)
s
xkdvkdkvld
optest
fh.close()

**注意,文件对象有个文件指针指向文件的当前处理的字符位置。随着read的调用,它的位置在不断的变化

文件处理完了,一定要调用close方法关闭文件

*** readline

文件对象的方法readline用来一行行的读取文件

fp = open(r'H:\test.txt')

st1 = fp.readline()
print(st1)
Augus

st2 = fp.readline()
print(st2)
xkdvkdkvld

st3 = fp.readline()
print(st3)
optest

fp.close()

** readlines

文件对象的方法readlines用来一下子把文件的内容按行全部读出来,并且每行的内容存到一个列表中返回

fp = open(r'H:\test.txt')

lines = fp.readlines()
print(lines)

print(lines[0])
Augus\n

print(lines[1])
xkdvkdkvld\n

print(lines[2])
optest

fp.close()

 

9.2.3.文件内容的写入

文件对象的内置方法write可以向当前文件指针的位置,写入字符串到文件里面

文件对象的内置方法tell可以得到当前文件指针所指向的位置

文件对象的内置方法seek则可以在文件中前后移动指针位置。seek有offset和whence两个参数。whence表示

从什么地方开始移动。0从起始位置移动,1从当前位置移动,2从结束位置移动。而offset表示移动多少个字节的位置

f = open('H:\\test.txt','w')
f.write('this is a test')
f.close()

 

posted @ 2019-07-30 15:27  酒剑仙*  阅读(335)  评论(0编辑  收藏  举报