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("\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基础:字符串、文本文件的更多相关文章
- Python3基础——字符串类型
Text Sequence Type - str(immutable) class str(object='') class str(object=b'', encoding='utf-8', err ...
- Python3基础-特别函数(map filter partial reduces sorted)实例学习
1. 装饰器 关于Python装饰器的讲解,网上一搜有很多资料,有些资料讲的很详细.因此,我不再详述,我会给出一些连接,帮助理解. 探究functools模块wraps装饰器的用途 案例1 impor ...
- 2. Python3 基础入门
Python3 基础入门 编码 在python3中,默认情况下以UTF-8编码.所有字符串都是 unicode 字符串,当然也可以指定不同编码.体验过2.x版本的编码问题,才知道什么叫难受. # -* ...
- python002 Python3 基础语法
python002 Python3 基础语法 编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -* ...
- Python3基础(八) 模块
在程序中定义函数可以实现代码重用.但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护.同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(modul ...
- Python3基础语法和数据类型
Python3基础语法 编码 默认情况下,Python3源文件以UTF-8编码,所有字符串都是unicode字符串.当然你也可以为原码文件制定不同的编码: # -*- coding: 编码 -*- 标 ...
- python基础——字符串和编码
python基础——字符串和编码 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用 ...
- Python 基础 字符串拼接 + if while for循环
注释单行注释 #多行注释 ''' 三个单引号或者三个双引号 """ ''' 用三引号引住可以多行赋值 用户交互 input 字符串拼接 + ""%( ...
- python3基础视频教程
随着目前Python行业的薪资水平越来越高,很多人想加入该行业拿高薪.有没有想通过视频教程入门的同学们?这份Python教程全集等你来学习啦! python3基础视频教程:http://pan.bai ...
- Python3 格式化字符串
Python3 格式化字符串 在Python 3.6之前,有两种将Python表达式嵌入到字符串文本中进行格式化的主要方法:%-formatting和str.format() 一.%-formatti ...
随机推荐
- hdu1233 还是畅通工程 最小生成树
给出修建边的边权,求连通所有点的最小花费 最小生成树裸题 #include<stdio.h> #include<string.h> #include<algorithm& ...
- 作为一名IT从业者,你在工作和学习中,遇到哪些问题
版权声明:襄阳雷哥的版权声明 https://blog.csdn.net/FansUnion/article/details/28448975 大家都是IT从业者,遇到的问题多少与类似. 假设能把这些 ...
- 创意:Soap一款新型的触摸式家用智能路由器
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/iefreer/article/details/34808749 Soap简单介绍 这里的Soap不是 ...
- TensorFlow笔记-07-神经网络优化-学习率,滑动平均
TensorFlow笔记-07-神经网络优化-学习率,滑动平均 学习率 学习率 learning_rate: 表示了每次参数更新的幅度大小.学习率过大,会导致待优化的参数在最小值附近波动,不收敛:学习 ...
- VisualSVN安装配置与使用
VisualSVN安装配置与使用 1. 所选服务器安装包:VisualSVN-Server-2.1.3.msi. 2. 客户端安装包:TortoiseSVN-1.6.2.16344-win32-s ...
- 【转】每天一个linux命令(12):more命令
原文网址:http://www.cnblogs.com/peida/archive/2012/11/02/2750588.html more命令,功能类似 cat ,cat命令是整个文件的内容从上到下 ...
- commons-logging log4j logback 知识点
log4j 2,需要导入2个jar包: log4j-core-xx.jar log4j-api-xx.jar log4j 2 的 properties 配置文件名字为: log4j2.properti ...
- python3 获取int最大值
python2 中获取int最大值 import sys i = sys.maxint print i 但是在python3中,报错: AttributeError: module 'sys' has ...
- [BZOJ5249][九省联考2018]IIIDX(线段树)
5249: [2018多省省队联测]IIIDX Time Limit: 40 Sec Memory Limit: 512 MBSubmit: 32 Solved: 17[Submit][Statu ...
- ERROR 1130 (HY000): Host '192.168.20.165' is not allowed to connect to this MySQL server
问题 远程连接mysql时遇到如下问题: ERROR 1130 (HY000): Host '192.168.20.165' is not allowed to connect to this MyS ...