一、文件处理
①打开文件 open(file, mode='r', buffering=-1, encoding=None)
t和+:默认模式为'r',读取文本; 'w+'、'w+b'打开文件并清空,不存在则创建,a+也是不存在则创建; 'r+' 与 'r+b' 仅打开文件但不清空。
endoding=平台所使用的编码,或用locale.getpreferredencoding(False) 来获取本地编码。
buffering:缓冲区字节数,b模式下才可以是0; pycharm中file->settings->Editor->File Encodings设置编码方式。
文件关闭模式:
try: 官方推荐:
f = open('test.txt', 'r') with open('test.txt','r') as f:
# do_something() # do_something()
finally: 同时打开多个文件:
f.close() with open('a.txt','r') as read_f, open('b.txt','w') as write_f:FileNotFoundError,其他模式下会创建,其中w和w+模式下会清空已存在文件里的内容。
②文件写入读出:
f.write(str) 2) f.writelines(str) 两者功能一致,str是什么就写入什么。
f.writelines("%s\n" % x for x in list)
读取文件:
str=f.read()读取整个文本。
2)list=f.readlines()或list=list(f)
str=f.readline()读取文本一行,文件尾时str='',可if not str: 或if str==''来判断。
③文件位置
f.seek(int1,int2):移动int1个字节,int2取0、1或2,代表绝对、相对于当前、文尾三种情况。
2)position = f.tell()
①print() 输出 print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) eg:
二、string常见操作
①状态判断 "string".islower()
- islower()、isupper()、isdigit() 判断是否全为小写、大写、数字
- isalpha() 是否为纯字母
- isalnum() 是否为字母和数字 没有以外的字符
- istitle() 每个单词是否大写开头
- isspace() 是否只有空白字符(空格回车制表符)
- startswith(str) 是否以某字符串开头
- endswith(str)
②字符转换
- lower()、upper() 逐字符转换为小写、大写
- swapcase() 字符串中大写转小写,小写转大写
- casefold() 字符串中所有大写字母转小写
- title() 字符串每个单词首字母大写,其他小写
- capitalize() 字符串首字母大写,其他小写
③修理和拆分
- strip ([substr]) 去掉字符串中的substr, 默认空白字符
- lstrip (substr) 只去左边
- str1+str2、str1+=str2
- split(substr) 按substr拆分为list
- splitlines () 按换行符拆分为list
- partition(substr) 从左侧按substr拆分为三部分, "xuchuan".partition("o") -> ("","","xuchuan")
④查询
eg: "xuchuan".find("u", 0, len("xuchuan"))==4
- find(substr[, begin[, end]]) 在字符的[begin, end)段从左开始,查询最后一个匹配substr的下标
- rfind(substr, begin, end) 从右开始查, 未找到返回-1
- index(substr, begin, end) 查询第一个匹配substr的下标
- count(substr) 能匹配的substr的个数
⑤替换
replace(old, new[, count]) 只替换前count次出现的old
三、编码和解码
bytes数据类型是“不可变的二进制 字节数据”,能使用str类型大部分方法。
定义:vb = b'abXY' # bytes类型
vs = u'万水千山' # Unicode字符串
编码:str -> bytes, 解码:bytes -> str

最后、内置函数

















