• python3基础:字符串、文本文件


    字符串:

    练习1:

    复制代码
    str = "大胖三百磅不是二百磅陪着一百磅的小胖"
    print(str.replace("磅", "斤"))  # 替换所有
    print(str.replace("磅", "斤", 2))  # 替换两次
    
    len = len(str)  # 这句话的字数长度
    print(str[5:len - 8])  # 截取第五个字符~倒数第八个字符。结果:不是二百磅
    
    str = "日照香炉生紫烟"
    a = str[::-1]  # 反转成倒序
    print(a)  # 烟紫生炉香照日
    复制代码

    练习2:  字符串 <=> 列表

    复制代码
    # -*- coding: utf-8 -*-
    # coding=utf-8
    
    str1 = '赵钱孙李周吴郑王'
    ls1 = list(str1)        # 字符串转为列表
    print(ls1)                   # ['赵', '钱', '孙', '李', '周', '吴', '郑', '王']
    str2 = "".join(ls1)     # 列表转为字符串
    print(str2)                   # 赵钱孙李周吴郑王
    str2 = str2[::-1]       # 字符串倒序
    print(str2)                   # 王郑吴周李孙钱赵    
    复制代码

    练习3:  随机生成字符串

    复制代码
    # -*- coding: utf-8 -*-
    # coding=utf-8
    
    import random
    import string
    
    str1 = string.ascii_uppercase  # 大写 ABCDEFGHIJKLMNOPQRSTUVWXYZ
    #str1 = string.ascii_lowercase # 小写 abcdefghijklmnopqrstuvwxyz
    #str1 = string.ascii_letters   # 大写和小写 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    
    #随机生成6位字母
    mylist1 = [random.choice(str1) for i in range(6)]
    print(''.join(mylist1))
    
    # 随机生成6位数字
    str2 = string.digits    # 数字 1234567890
    mylist2 = [random.choice(str2) for i in range(6)]
    print(''.join(mylist2))
    
    #随机生成10位字母和数字混合
    str3 = string.ascii_uppercase + string.digits   # 字母和数字
    mylist3 = [random.choice(str3) for i in range(10)]
    print(''.join(mylist3))
    复制代码

    文本文件:

     http://www.runoob.com/python3/python3-inputoutput.html  不同模式打开文件

    r   rb  r+  rb+ 
    w  wb  w+  wb+
    a  ab  a+  ab+

    r   只能读

    r+   可读可写   不会创建不存在的文件(若文件不存在,报错)。从顶部开始写,会覆盖之前此位置的内容(覆盖写)

    a   只能写        从文件底部添加内容,不存在则创建

    a+   可读可写   从文件顶部读取内容,从文件底部添加内容,不存在则创建。(追加新内容)

    w   只能写        覆盖整个文件,文件不存在则创建

    w+   可读可写   如果文件存在,则覆盖整个文件,文件不存在则创建

    练习1:文本文件读取、处理及保存:  读取chengyu.txt,按行处理后,保存到test111.txt中。文本文件都是utf-8的

    复制代码
    # -*- coding: utf-8 -*-
    
    html = ""
    fo = open('d:/chengyu.txt', 'a+') #以读写方式处理文件IO
    fo.seek(0)
    str_line = fo.readline()
    while str_line:
        # print(str_line)
        str_line = fo.readline()
    
        # 有两种标签<h3> 和 <p>,处理<p>标签中所含的成语
        # str_line = "<p>急中生智 仰不愧天 镇定自若 化险为夷</p>"
        str_line2 = ""
        is_word = str_line.find("<p>")
        if is_word>-1:
            print("----是成语所在行----")
            # print(str_line)
            str_line = str_line.replace("<p>","")
            str_line = str_line.replace("</p>","")
            str_line = str_line.replace("
    ","")
            for _word in str_line:
                if _word.find(" ")>-1:
                    str_line2 = str_line2 + "</u>" + _word + "<u>"
                elif _word.find("、")>-1:
                    str_line2 = str_line2 + "</u>" + _word + "<u>"
                else:
                    str_line2 = str_line2 + _word
            str_line2 = "<u>" + str_line2 + "</u>"
            html = html + "<p>" + str_line2 + "</p>
    "
    
        else:
            print("----NO-所在行----")
            html = html + str_line
            # print(str_line)
    fo.close
    
    
    fo2 = open('d:/test111.txt',"w")
    fo2.write(html)
    fo2.close()
    复制代码

    练习2:打开一个网页

    复制代码
    # -*- coding: utf-8 -*-
    #coding=utf-8
    import requests
    
    def getTxts():
        url = 'https://www.cnblogs.com/qq21270/'
        r = requests.get(url,verify=False)
        print(r.text)
    
    if __name__ == '__main__':
        getTxts()
    复制代码

     练习3:

    复制代码
    # -*- coding: utf-8 -*-
    # coding=utf-8
    
    # 读取文本文件,把所有的汉字拆成一个list
    f = open("jieba_text.txt", 'r', encoding='utf8')  # 从文件中读取要处理的大段文字
    txt1 = f.read()
    txt1 = txt1.replace('
    ', '')
    print(txt1)
    复制代码

    ..

  • 相关阅读:
    Java多线程总结之线程安全队列Queue
    Java四种线程池
    Java多线程同步 synchronized 关键字的使用
    mysql存储过程语法及实例
    Mysql 中有关日期的函数(sql)
    mysql sql常用语句大全
    spring主要的作用?
    Java:描述反射机制的作用?举几个反射的应用?
    设计模式之六大原则(转载)
    Android之微信开放平台创建应用
  • 原文地址:https://www.cnblogs.com/valorchang/p/11282483.html
Copyright © 2020-2023  润新知