zoukankan      html  css  js  c++  java
  • 01Python基础_06文件读写

      1. 读取文件

      使用 open 函数或者 file 函数来读文件,使用文件名的字符串作为输入参数

    1 #读取文件内容
    2 
    3 f = open('test.txt')
    4 
    5 print(f.read())             #读取文件全部内容
    6 print(f.readline())         #读取文件第一行
    7 print(f.readlines())        #返回一个列表,每个元素代表一行
    8 
    9 f.close()                   #关闭文件

      

    方法描述
    read() 一次读取文件所有内容,返回一个str
    read(size) 每次最多读取指定长度的内容,返回一个str;在Python2中size指定的是字节长度,在Python3中size指定的是字符长度
    readlines() 一次读取文件所有内容,按行返回一个list
    readline() 每次只读取一行内容

      遍历打印文件中每一行:

    1 with open('song.txt', 'r', encoding='utf-8') as f:
    2     for line in f.readlines():
    3         print(line)

      或:

    1 with open('song.txt', 'r', encoding='utf-8', newline='') as f:
    2     for line in f:
    3         print(line)

      2. 写文件

      open()默认已r模式打开文件,要想写入,需已w模式打开文件。以w模式打开时,如果文件不存在则创建文件,如果文件存在则覆盖之前的内容。

    1 #写入文件
    2 
    3 f = open('test.txt', 'w')   #使用w模式打开文件
    4 f.write('hello world!')     #写入内容
    5 f.close()                   #关闭文件
    文件打开模式描述
    r 以只读模式打开文件,并将文件指针指向文件头;如果文件不存在会报错
    w 以只写模式打开文件,并将文件指针指向文件头;如果文件存在则将其内容清空,如果文件不存在则创建
    a 以只追加可写模式打开文件,并将文件指针指向文件尾部;如果文件不存在则创建
    r+ 在r的基础上增加了可写功能
    w+ 在w的基础上增加了可读功能
    a+ 在a的基础上增加了可读功能
    b 读写二进制文件(默认是t,表示文本),需要与上面几种模式搭配使用,如ab,wb, ab, ab+(POSIX系统,包括Linux都会忽略该字符)

      3. 关闭文件

      关闭文件可以保证内容已经被写入文件,而不关闭可能会出现意想不到的结果。使用close()关闭文件。

      可以用try...finally来保证文件无论如何都能被关闭:

    1 #写入文件
    2 try:
    3     f = open('test.txt', 'w+')      #使用w+模式打开文件
    4     f.write('hello world!')         #写入内容
    5 finally:
    6     if f:
    7         f.close()
    8         print('file has been closed. ')

      事实上,Python提供了更安全的方法,当 with 块的内容结束后,Python会自动调用它的close 方法,确保读写的安全:

    1 #写入文件
    2 with open('test.txt', 'w') as f:
    3     f.write('hello world!')         #写入内容
    4 print(f.closed)             #返回True
  • 相关阅读:
    linksys wrt160nv3 刷dd-wrt固件
    win2008 r2 远程桌面问题
    windows server 2008 集成raid卡驱动
    gitlab-ce
    git
    批量发布jar包springboot应用
    gradle
    lvs
    rsyslog
    特殊权限
  • 原文地址:https://www.cnblogs.com/zhangyide/p/7874944.html
Copyright © 2011-2022 走看看