python学习 字典---字符串常用方法----元组----文件基本操作

# 字典
# 通过key:value方式进行数据存储
# 通过key取值,效率高
info['name']
# 会修改原有的值
info.setdefault('name', 'ldh')
# 不会改变原数据
# 修改
info['name'] = '值'

# 删除
info.pop('key')
del info['key']
info.popitem() # 随机删除一个数据

# 查
info.get('key')
info.get('key', '默认值')
# 若key存在则返回key对应的值
# 若key不存在则返回默认值
info['key']

info.keys()
# 获取字典中所有的key
info.values()
# 获取字典中所有的值
info.clear()
info.update(info1) #字典合并
# 将info1添加至info中
key in info
# 判断key是否在info中存在

# 字符串常用方法
str.strip()
# 去掉字符串两边的空格和换行符
# 不能去掉字符串中间的
str.rstrip()
# 去掉字符串右边的空格和换行符
str.lstrip()
# 去掉字符串左边的空格和换行符
str.replace(" ", "")
# 替换字符串中内容
str.index('a')
# 查找a的下标
str.count('ka')
# 字符出现的次数
str.find('a')
# 查找下标
str.startswith('')
# 判断是否已xxx开始
str.endswith('')
# 判断是否已xxx结尾
str.upper()
# 把所有的字母都变大写
str.lower()
# 把所有字母都变小写
str.isdigit()
# 判断是否是整数
str.capitalize()
# 首字母大写
str.center(50, '=')
# 总长度为50
# 若长度不够两边以 = 号补齐
str.zfill(2)
# 在字符前面补0
str.isupper()
# 判断是否都是大写字母
str.islower()
# 判断是否都是小写字母
str.isialpha()
# 只要不是字母或汉字
# 全部返回true
str.isalnum()
# 只有数字或者字母或汉字才会返回true
# 其他都返回false
str.format()
# 字符串格式化

str = '今天是{},欢迎{}登录'
str.fromat('A', 'B')

str.split('字符串分隔')
# 分隔字符串
'指定字符串'.join(list)
# 把list里面的每个元素通过指定的字符串连接起来
s4 = 'insert into stu (id,username,passwd,phone,addr,qq,email,score) value ("{id}","{username}","{password}","{phone}","{addr}","{qq}","{email}","{score}")'
s4.format(username='aaa', id=1········)
s4.format_map({'username': 'ddd', 'id': 234·········})

# 元组
# 元组也是一个list,无法修改
# 只能读
t = (1, 2, 3, 4, 5)
t[0]
# 取值
t.count("xxx")
# 获取xxx在元组中出现的次数
t.index("值")
# 获取下标

- --
import pprint

# 完整打印数据类型格式

# 文件操作
# 1、文件读取
open()
# 打开文件的三种模式
# 读
f = open(r'文件路径', encoding='gbk')
result = f.read()
print(result)
f.close()
# 只能读不能写

# 写
f = open('文件路径', 'w', encoding='gbk')
f.write('123456')
f.close()
# 只能写不能读,每次写都会覆盖之前内容,文件不存在会创建

# 追加
f = open('文件路径', 'a', encoding='gbk')
f.write('7890')
f.close()
# 只能写不能读,在原文件内容后面追加,文件不存在会创建

# 读写模式
# r + 只要是r有关,打开不存在的文件都会报错
f = open('C:\\Users\\LDH\\Desktop\\123.txt','r+',encoding='gbk')
f.write('abc')
result = f.read()
print(result)
f.close()

# 写读模式
# w + 只要是w有关,都会覆盖重写源文件内容
f = open('C:\\Users\\LDH\\Desktop\\123.txt','w+',encoding='gbk')
f.write('rty')
result = f.read()
print(result)
f.close()

# a + 文件不存在会创建,会在文件末尾追加内容

f = open('C:\\Users\\LDH\\Desktop\\123.txt','a+',encoding='gbk')
f.write('uio')
result = f.read()
print(result)
f.close()

# a + 读取文件的时候需要将指针指向最前面
f = open('C:\\Users\\LDH\\Desktop\\123.txt', 'a+', encoding='gbk')
f.seek(0)
print(f.readlines())
# 返回一个list 将每一行当做一个元素
f.seek(0) # 移动文件指针,指向所要开始的行
print(f.read())
f.close()

f.writelines(list)
# 自动循环,将list中的每个元素都写入文件
l = ['1\n','2\n']
f = open('C:\\Users\\LDH\\Desktop\\123.txt','a+',encoding='gbk')
f.writelines(l)
f.seek(0)
print(f.read())
f.close()

文件修改
# 高效处理文件
# 1、第一种方法,先找到要修改的内容并替换掉,清空文件,重新将替换过的内容重新写入文件
f = open('liudonghai.txt','a+',encoding='utf-8')
f.seek(0)
result = f.read()
result1 = result.replace('wangyanquan','123')
f.seek(0)
f.truncate() #清空文件
f.write(result1)
f.close()
# 2、处理大文件,逐行处理
import os

f = open('liudonghai.txt', 'a+', encoding='utf-8')
f1 = open('liudonghai2.txt', 'w', encoding='utf-8')
f.seek(0)
for line in f:
line = line.upper()
f1.write(line)
f.close()
f1.close()
os.remove('liudonghai.txt')
os.rename('liudonghai2.txt', 'liudonghai.txt')

# 使用with打开文件不需要close 使用完成后with会自动关闭
with open("liudonghai.txt") as f, open('文件路径') as f2:
f = f.read()
f2.write('xx')

猜你喜欢

转载自www.cnblogs.com/huaixiaohai/p/10939692.html