zoukankan      html  css  js  c++  java
  • Python基础语法之文件操作

    1 读文件

      1.1 简单读文件

    1 f = open('text', 'r')  # f是文件句柄
    2 data = f.read()  # read方法可以加整型参数,是几就读几个字符
    3 print(data)
    4 f.close()

      1.2 readline()和readlines()

        readline():每次读文件中的一句。

        readlines():将整个文件中的字符全部读出,并将其存在一个列表里,列表中的每个元素是文件中的一句。

        在读大文件时尽量不要用readlines,太占用内存。

    1 f = open('text', 'r')
    2 a = f.readline()
    3 b = f.readline()
    4 c = f.readline()
    5 d = f.readline()
    6 print(a)  # my name is Bob
    7 print(b)  # I am 18 years old
    8 print(c)  # I like learning
    9 print(d)  # I have a dog
    f = open('text', 'r')
    lines = f.readlines()
    print(lines)
    # ['my name is Bob
    ', 'I am 18 years old
    ', 'I like learning
    ', 'I have a dog']

      1.3 迭代器

        文件句柄是一个迭代器,可以通过for循环取出迭代器中的值,节约内存,处理效率更高。

    1 f = open('text', 'r')
    2 for i in f:
    3     print(i.strip())
    4 # my name is Bob
    5 # I am 18 years old
    6 # I like learning
    7 # I have a dog

    2 写文件

      2.1 清理写

    1 f = open('text', 'w')
    2 f.write('hello world')
    3 f.close()

      2.2 非清理写

    1 f = open('text', 'a')
    2 f.write('hello world')
    3 f.close()

    3 读取和调整光标的位置

    1 f = open('text', 'r')
    2 print(f.tell())  # 0
    3 print(f.read(2))  # he
    4 print(f.tell())  # 2
    5 f.seek(0)
    6 print(f.tell())  # 0

    4 将缓存区内容写进磁盘中

    1 f = open('text', 'w')
    2 f.write('Bob is 32')  # 此时文件中并没有写入
    3 f.flush()  # 将刚写入缓存区的内容写入到磁盘中
    4 f.close()

    5 文件的操作模式

    1 # r+ :从文章起始位置读,从文章最后写
    2 # w+ :从光标后一个字符读,在文章最后写,但是在打开文件时清空文档
    3 # a+ :从文章最后读,正常追加

    6 例题:在任意一行的后面添加字符串,并将文件打印出来

    1 with open('text', 'r') as f:
    2     num = 0
    3     for i in f.readlines():
    4         num += 1
    5         if num == 4:
    6             i = ''.join([i.strip(), '***'])
    7         print(i.strip())

    7 例题:修改文件中任意一行

    1 with open('text', 'r') as f_read, open('text1', 'w') as f_write:
    2     num = 0  # 计数,在符合行数时修改内容
    3     for line in f_read:  # 遍历f_read中的每行
    4         num += 1  # 没遍历一行,计数器加一
    5         if num == 4:  # 在第四次遍历时,即在第四行时执行if块语句
    6             line = 'hello
    '  # 当在第四行时将文件的内容改为hello
    7         f_write.write(line)  # 将处理后的所有字符串写入f_write
  • 相关阅读:
    ionic localstorage
    angular 中文鏈接
    把jqmobi 變成jQuery 的插件 從此使用jQuery
    jqmobi 的一些設置
    ionic ngcordova map 地圖
    ionic pull to refresh 下拉更新頁面
    json 對象的序列化
    鍵盤彈出,頁面佈局被推上去了.....
    Cordova V3.0.0中config.xml配置文件的iOS Configuration
    android ios 只能輸入數字 不能輸入小數點的 函數 cordova
  • 原文地址:https://www.cnblogs.com/swenwen/p/10617684.html
Copyright © 2011-2022 走看看