注释、文件读写

一、注释

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

二、文件的读写

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

2.1.open和with open方法

在Python中,open()with open() 都是用于打开文件的方式,但它们有一些重要的区别,尤其是在资源管理和错误处理方面。

2.1.1.open()

open() 函数用于打开一个文件,但它不自动处理文件关闭。使用 open() 后,你需要手动关闭文件,这样可以释放资源。未关闭文件可能导致资源泄漏或文件损坏。

file = open('example.txt', 'r')
try:
    content = file.read()
    print(content)
finally:
    file.close()  # 确保文件被关闭

2.1.2.with open()

with open() 是一种上下文管理器,它会在文件操作完成后自动关闭文件。这种方式更简洁,且能有效避免由于异常等原因导致文件未被关闭的问题。

with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
# 不需要手动调用 file.close(),文件会在此块结束时自动关闭

2.1.3.主要区别

自动关闭文件:

  • open(): 需要手动调用 file.close() 来关闭文件。
  • with open(): 自动管理文件关闭,不需要显式调用 file.close()。

资源管理:

  • open(): 如果出现异常,文件可能不会被关闭。
  • with open(): 即使在文件操作过程中发生异常,文件也会被正确关闭。

代码简洁性:

  • open(): 需要额外的 try...finally 语句来确保文件被关闭。
  • with open(): 自动处理文件关闭,使代码更加简洁和易读。

with open() 是比较推荐的文件操作方式,因为它能够更好地管理资源和处理异常情况。

2.2.读取文件

2.2.1.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方法关闭文件

2.2.2.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()

2.2.3.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()

2.3.写入文件

写入文本到文件:

with open('example.txt', 'w') as file:
    file.write('Hello, World!\n')
    file.write('This is a new line.')

追加文本到文件:

with open('example.txt', 'a') as file:
    file.write('\nAppending a new line.')

2.4. 文件操作模式

  • r 只能读
  • r+ 可读可写,不会创建不存在的文件,从顶部开始写,会覆盖之前此位置的内容
  • w+ 可读可写,如果文件存在,则覆盖整个文件,不存在则创建
  • w 只能写,覆盖整个文件,不存在则创建
  • a 只能写,从文件底部添加内容 不存在则创建
  • a+ 可读可写 从文件顶部读取内容 从文件底部添加内容 不存在则创建

注意:不建议用r+的方式去写入文件,会使之前的文件不完整。

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