字符串:

练习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("\n","")
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>\n" 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('\n', '')
print(txt1)

..

python3基础:字符串、文本文件的更多相关文章

  1. Python3基础——字符串类型

    Text Sequence Type - str(immutable) class str(object='') class str(object=b'', encoding='utf-8', err ...

  2. Python3基础-特别函数(map filter partial reduces sorted)实例学习

    1. 装饰器 关于Python装饰器的讲解,网上一搜有很多资料,有些资料讲的很详细.因此,我不再详述,我会给出一些连接,帮助理解. 探究functools模块wraps装饰器的用途 案例1 impor ...

  3. 2. Python3 基础入门

    Python3 基础入门 编码 在python3中,默认情况下以UTF-8编码.所有字符串都是 unicode 字符串,当然也可以指定不同编码.体验过2.x版本的编码问题,才知道什么叫难受. # -* ...

  4. python002 Python3 基础语法

    python002 Python3 基础语法 编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -* ...

  5. Python3基础(八) 模块

    在程序中定义函数可以实现代码重用.但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护.同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(modul ...

  6. Python3基础语法和数据类型

    Python3基础语法 编码 默认情况下,Python3源文件以UTF-8编码,所有字符串都是unicode字符串.当然你也可以为原码文件制定不同的编码: # -*- coding: 编码 -*- 标 ...

  7. python基础——字符串和编码

    python基础——字符串和编码 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用 ...

  8. Python 基础 字符串拼接 + if while for循环

    注释单行注释 #多行注释 ''' 三个单引号或者三个双引号 """ ''' 用三引号引住可以多行赋值 用户交互 input 字符串拼接 +  ""%( ...

  9. python3基础视频教程

    随着目前Python行业的薪资水平越来越高,很多人想加入该行业拿高薪.有没有想通过视频教程入门的同学们?这份Python教程全集等你来学习啦! python3基础视频教程:http://pan.bai ...

  10. Python3 格式化字符串

    Python3 格式化字符串 在Python 3.6之前,有两种将Python表达式嵌入到字符串文本中进行格式化的主要方法:%-formatting和str.format() 一.%-formatti ...

随机推荐

  1. POJ 3254 Corn Fields状态压缩DP

    下面有别人的题解报告,并且不止这一个状态压缩题的哦···· http://blog.csdn.net/accry/article/details/6607703 下面是我的代码,代码很挫,绝对有很大的 ...

  2. hasura graphql-engine v1.0.0-alpha26 版本新功能试用

      hasura graphql-engine v1.0.0-alpha26 已经发布了,有好多新的变动,测试使用docker 环境,同时pg 数据库使用了citus citus 是一个方便扩展的pg ...

  3. #define WIN32_LEAN_AND_MEAN 的作用

    今天看了用mysql的库+vc连接数据库,结果我用mfc application向导建立一个project,然后加入#include "mysql.h"(已经设置好了环境),编译出 ...

  4. socket、tcp/ip协议、udp协议

    socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Un ...

  5. 03.将MPP部署到开发板上

    转载侵删 在一般的嵌入式开发中,只要将uboot,kernel,rootfs下载到开发板上,就可以进行程序开发了.但是海思又进一步的把一些常用视频编解码算法等封装到MPP平台中,进一步简化了工程师的开 ...

  6. AQS源码分析

    AQS全程为AbstractQueuedSynchronizer,其定义了一套多线程访问共享资源的同步框架,大部分的同步类的实现都依赖于他,比如ReentrantLock,ReentrantReadW ...

  7. 【转】每天一个linux命令(4):mkdir命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/10/25/2738271.html linux mkdir 命令用来创建指定的名称的目录,要求创建目录的 ...

  8. Java中 @Override 的作用

    @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 可以当注释用,方便阅读: 编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错.例如,你如 ...

  9. Decision_function:scores,predict以及其他

    机器学习的评估 PR曲线用于positive类数据占比比较小,或者你更加在意false postion(相比于false negative):其他情况采用ROC曲线:比如Demo中手写体5的判断,因为 ...

  10. POJ2279杨氏矩阵+钩子定理

    题目:http://poj.org/problem?id=2279 有dp做法,但会MLE. dp的思想很好,是通过 “按身高由小到大往进放” 把 “身高小于” 的条件转化成 “放进去的先后” ,于是 ...