字符串:

练习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. BZOJ3052: [wc2013]糖果公园【树上带修莫队】

    Description Input Output Sample Input Sample Input Sample Output 84 131 27 84 HINT 思路 非常模板的树上带修莫队 真的 ...

  2. 判断手机端还是pc端

    public static bool CheckIsMobile() { bool flag = false; string agent = SystemWeb.HttpContext.Current ...

  3. 修改ThinkPHP缓存为Memcache的方法

    一般来说,ThinkPHP的默认缓存方式是以File文件方式实现的,运行时会在/Runtime/Temp 下生成很多的缓存文件. 有的情况下服务器装了memcached之后,需要将ThinkPHP的缓 ...

  4. ML(4): 决策树分类

    决策树(Decision Tree)是用于分类和预测的主要技术,它着眼于从一组无规则的事例推理出决策树表示形式的分类规则,采用自顶向下的递归方式,在决策树的内部节点进行属性值的比较,并根据不同属性判断 ...

  5. Eclipse引入jar包的三种方式

    引用自 http://chenxu.wo.blog.163.com/blog/static/50239687201162310620634/ 使用Eclipse开发应用程序,少不了使用第三方jar包, ...

  6. 加快QT工程编译速度

    转载:学海方舟 利用Qt Creator编译工程大家都觉得慢,特别是整个工程重新编译时,那问题来了怎么加快编译速度呢 ,其实方法很简单,利用我们的强大的多核CPU来实现多核编译: 在编译参数中加入“- ...

  7. bzoj 4911: [Sdoi2017]切树游戏

    考虑维护原树的lct,在上面dp,由于dp方程特殊,均为异或卷积或加法,计算中可以只使用fwt后的序列 v[w]表示联通子树的最浅点为w,且不选w的splay子树中的点 l[w]表示联通子树的最浅点在 ...

  8. bzoj 3795: 魏总刷DP

    Description 魏总,也就是DP魏又开始刷DP了.一共有n道题,第i道题魏总原本需要u[i]秒的时间.不过,为了表达对这些水题的藐视,魏总决定先睡k秒再开始刷题.魏总并不清楚自己会睡多久,只知 ...

  9. 杂项:Unity3D

    ylbtech-杂项:Unity3D Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具 ...

  10. RESTful Java client with Apache HttpClient / URL /Jersey client

    JSON example with Jersey + Jackson Jersey client examples RESTful Java client with RESTEasy client f ...