zoukankan      html  css  js  c++  java
  • python 文件操作的函数

    1. 文件操作的函数
      open(文件名(路径), mode="?", encoding="字符集")


    2. 模式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b
      r
      w
      a
      r+
      b
    3. 常用的操作
      1. 光标(seek)*
        seek(0) 开头
        seek(0,2) 结尾
      2. tell() 光标的位置
      3. truncate 截断文件
      4. 修改文件
        1. 引入os模块
        2. 打开目标文件, r
        3. 打开文件副本, w
        4. 从r中读取内容进行修改. 写入到副本中
        5. 删除源文件
        6. 重命名副本

    1,有如下文件,a1.txt,里面的内容为:

     

    老男孩是最好的培训机构,

    全心全意为学生服务,

    只为学生未来,不为牟利。

    我说的都是真的。哈哈

     

    分别完成以下的功能:

    a,将原文件全部读出来并打印。

    b,在原文件后面追加一行内容:信不信由你,反正我信了。

    c,将原文件全部读出来,并在后面添加一行内容:信不信由你,反正我信了。

    d,将原文件全部清空,换成下面的内容:

     

    每天坚持一点,

    每天努力一点,

    每天多思考一点,

    慢慢你会发现,

    你的进步越来越大。

    e,将原文件内容全部读取出来,并在‘我说的都是真的。哈哈’这一行的前面加一行,‘你们就信吧~’然后将更改之后的新内容,写入到一个新文件:a1.txt。

     

     

     

     

     

     

     

     

    2,有如下文件,t1.txt,里面的内容为:

     

    葫芦娃,葫芦娃,

    一根藤上七个瓜

    风吹雨打,都不怕,

    啦啦啦啦。

    我可以算命,而且算的特别准:

    上面的内容你肯定是心里默唱出来的,对不对?哈哈

     

    分别完成下面的功能:

    a,以r+的模式打开原文件,判断原文件是否可读,是否可写。

    b,以r的模式打开原文件,利用for循环遍历文件句柄。

    c,以r的模式打开原文件,以readlines()方法读取出来,并循环遍历      readlines(),并分析b,与c 有什么区别?深入理解文件句柄与         readlines()结果的区别。

    d,以r模式读取‘葫芦娃,’前四个字符。

    e,以r模式读取第一行内容,并去除此行前后的空格,制表符,换行符。

    f,以r模式打开文件,从‘风吹雨打.....’开始读取,一直读到最后。

    g,以a+模式打开文件,先追加一行:‘老男孩教育’然后在从最开始将     原内容全部读取出来。

    h,截取原文件,截取内容:‘葫芦娃,葫芦娃,’

     

     

     

     

     

     

     

     

     

     

    3,文件a.txt内容:每一行内容分别为商品名字,价钱,个数。

     

    apple 10 3

    tesla 100000 1

    mac 3000 2

    lenovo 30000 3

    chicken 10 3

     

    通过代码,将其构建成这种数据类型:[{'name':'apple','price':10,'amount':3},{'name':'tesla','price':1000000,'amount':1}......] 并计算出总价钱。

     

     

     

     

     

     

     

     

     

    4,有如下文件:

     

    alex是老男孩python发起人,创建人。

    alex其实是人妖。

    谁说alex是sb?

    你们真逗,alex再牛逼,也掩饰不住资深屌丝的气质。

     

    将文件中所有的alex都替换成大写的SB(文件的改的操作)。

    import  os
    # 1
    # a
    r = open("a1.txt",mode="r",encoding="utf-8")
    r1 = r.read()
    r.flush()
    r.close()
    print(r1)
    
    # b
    r = open("a1.txt",mode="a",encoding="utf-8")
    r.write("信不信由你,反正我信了。")
    r.flush()
    r.close()
    
    # c
    r = open("a1.txt",mode="r+",encoding="utf-8")
    r1 = r.read()
    r.write("信不信由你,反正我信了。")
    r.flush()
    r.close()
    # d
    r = open("a1.txt",mode="w",encoding="utf-8")
    r.write('''每天坚持一点,
    每天努力一点,
    每天多思考一点,
    慢慢你会发现,
    你的进步越来越大。
    ''')
    r.flush()
    r.close()
    
    # e
    with open("a1.txt",mode="r+",encoding="utf-8") as r,
         open("a1_1.txt",mode="w",encoding="utf-8")as r1:
        for line in r:
            r1.write(line.replace("我说的都是真的。哈哈","你们就信吧~
    我说的都是真的。哈哈"))
    os.remove("a1.txt")
    os.rename("a1_1.txt","a1.txt")
    
    # 2
    # a
    with open("t1,txt",mode="r+",encoding="utf-8") as r:
        print(r.readable())
        print(r.writable())
    # b
    with open("t1.txt",mode="r",encoding="utf-8") as r:
        for line in r:
            print(line)
    # c
    with open("t1.txt",mode="r",encoding="utf-8") as r:
        lst = r.readlines()
        for i in lst:
            print(i)
    # d
    with open("t1.txt",mode="r",encoding="utf-8") as r:
        r1 = r.read(3)
        print(r1)
    # e
    with open("t1.txt",mode="r",encoding="utf-8") as r:
        r1 = r.readline().strip()
        print(r1)
    # f
    with open("t1.txt",mode="r",encoding="utf-8") as r:
        r.seek(49)
        r1 = r.read()
        print(r1)
    # g
    with open("t1.txt",mode='a+',encoding="utf-8") as r:
        r.write("老男孩教育")
        r.seek(0)
        r1 = r.read()
        print(r1)
    # h
    with open("t1.txt",mode="r+",encoding="utf-8") as r:
        r.seek(24)
        r.truncate()
        r.seek(0)
        r1 = r.read()
        print(r1)
    
    # 3
    li = []
    sum = 0
    f = open("a.txt",mode="r",encoding="utf-8")
    lst = f.readlines()
    for i in lst:
        dic = {}
        s = i.strip().split(" ")
        dic['name'] = s[0]
        dic['price'] = s[1]
        dic['amount'] = s[2]
        sum = sum + int(dic["price"])
        li.append(dic)
    print(li)
    print(sum)
    
    # 4
    import os
    with open("alex.txt",mode="r",encoding="utf-8")as f,
        open("alex_1.txt",mode="w",encoding="utf-8")as f1:
        for line in f:
            s = line.replace("alex","SB")
            f1.write(s)
    os.remove("alex.txt")
    os.rename("alex_1.txt","alex.txt")
  • 相关阅读:
    这些哭笑不得的情景,每一个程序猿都可能面对
    创建并使用静态库(ar 命令)
    C++中typename和class的区别
    C++11 tuple
    c++ map与 qt QMap insert 区别
    各个函数消耗的时间profiling和内存泄漏valgrind
    Linux查看代码量
    Linux应用程序打包
    静态代码检查工具 cppcheck 的使用
    制作Linux下程序安装包——使用脚本打包bin、run等安装包
  • 原文地址:https://www.cnblogs.com/zbw582922417/p/9432504.html
Copyright © 2011-2022 走看看