zoukankan      html  css  js  c++  java
  • python练习题-day8

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

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

    全心全意为学生服务,

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

    我说的都是真的。哈哈

    分别完成以下的功能:

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

    with open("a1.txt",encoding="utf-8") as f1:
        data=f1.read()
        print(data)

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

    with open("a1.txt","a+",encoding="utf-8") as f1:
        data=f1.read()
        print(data)
        f1.write("信不信由你,反正我信了。")

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

     
    with open("a1.txt","a+",encoding="utf-8") as f1:
    data=f1.read()
    print(data)
    f1.write(" 信不信由你,反正我信了。")

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

     每天坚持一点,

    每天努力一点,

    每天多思考一点,

    慢慢你会发现,

    你的进步越来越大。

     with open("a1.txt","w",encoding="utf-8")as f1:
        f1.write("每天坚持一点,
    每天努力一点,
    每天多思考一点,
    慢慢你会发现,
    你的进步越来越大。")

    e、将原文件内容全部读取出来,并在‘我说的都是真的。哈哈’这一行的前面加一行,‘你们就信吧~’然后将更改之后的新内容,写入到一个新文件:a1.txt。
    import os
    with open("a1.txt","r",encoding="utf-8") as f1,open("a2.txt","w",encoding="utf-8") as f2:
    data=f1.readlines()
    for i in data:
    i=i.replace("我说的都是真的。哈哈","你们就信吧~ 我说的都是真的。哈哈")
    f2.write(i)
    os.remove("a1.txt")
    os.rename("a2.txt","a1.txt")

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

     

    葫芦娃,葫芦娃,

    一根藤上七个瓜

    风吹雨打,都不怕,

    啦啦啦啦。

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

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

     分别完成下面的功能:

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

    with open("t1.txt","r+",encoding="utf-8") as f1:
    print(f1.readable())
    print(f1.writable())

    b、以r的模式打开原文件,利用for循环遍历文件句柄。
    with open("t1.txt",encoding="utf-8") as f1:
    for i in f1:
    print(i)
    c、以r的模式打开原文件,以readlines()方法读取出来,并循环遍历readlines(),并分析b,与c 有什么区别?深入理解文件句柄与readlines()结果的区别。
    with open("t1.txt",encoding="utf-8") as f1:
    data=f1.readlines()
    for i in data:
    print(i)
    d、以r模式读取‘葫芦娃,’前四个字符。
    with open("t1.txt",encoding="utf-8") as f1:
    data=f1.read(4)
    print(data)
    e、以r模式读取第一行内容,并去除此行前后的空格,制表符,换行符。
    with open("t1.txt",encoding="utf-8") as f1:
    data=f1.readline().strip()
    print(data)

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

    with open("t1.txt",encoding="utf-8") as f1:
        f1.readline()
    f1.readline()
    print(f1.read())
    g、以a+模式打开文件,先追加一行:‘老男孩教育’然后在从最开始将 原内容全部读取出来。
    with open("t1.txt","a+",encoding="utf-8") as f1:
    f1.write("老男孩教育")
    f1.seek(0)
    print(f1.read())
    h、截断原文件,留下内容:‘葫芦娃’
    with open("t1.txt","r+",encoding="utf-8") as f1:
    f1.truncate(9)
    for i in f1:
    print(i)

    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}......] 并计算出总价钱。

    with open("t1.txt",encoding="utf-8") as f1:
    data=f1.readlines()
    dic={}
    li=[]
    li1=[]
    for i in data:
    # a,b,c=i.strip().split()
    if i.strip():
    li.append(i)
    for i in li:
    a,b,c=i.split()
    li1.append({"name":a,"price":b,"amount":c})
    print(li1)

    4、有如下文件: 

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

    alex其实是人妖。

    谁说alex是sb?

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

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

    import os
    with open("t1.txt",encoding="utf-8") as f1,open("t2.txt","w+",encoding="utf-8") as f2:
    for i in f1:
    i=i.replace("alex","SB")
    f2.write(i)
    os.remove("t1.txt")
    os.rename("t2.txt","t1.txt")

                                                                                

  • 相关阅读:
    python中多进程+协程的使用以及为什么要用它
    python爬虫——多线程+协程(threading+gevent)
    Python几种并发实现方案的性能比较
    Python threadpool传递参数
    python线程池(threadpool)模块使用笔记
    python下的select模块使用 以及epoll与select、poll的区别
    python中的select模块
    Python中threading的join和setDaemon的区别及用法
    python队列Queue
    和为S的连续正数序列
  • 原文地址:https://www.cnblogs.com/fumy/p/10291964.html
Copyright © 2011-2022 走看看