一、Python字符串string方法大全及使用方法[1]
1. Python字符串string方法大全及意义解释
#将字符串的第一个字符转换为大写
capitalize()
#返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
center(width, fillchar)
#返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
count(str, beg= 0,end=len(string))
#以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
encode(encoding='UTF-8',errors='strict')
#检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
endswith(suffix, beg=0, end=len(string))
#把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
expandtabs(tabsize=8)
#检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
find(str, beg=0, end=len(string))
#index跟find()方法一样,只不过如果str不在字符串中会报一个异常。
index(str, beg=0, end=len(string))
#如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回 False
isalnum()
#如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
isalpha()
#如果字符串中只包含空白,则返回 True,否则返回 False.
isspace()
#如果字符串只包含数字则返回 True 否则返回 False..
isdigit()
#检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。
isdecimal()
#如果字符串中只包含数字字符,则返回 True,否则返回 False
isnumeric()
#如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
isupper()
#如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
islower()
#如果字符串是标题化的(见 title())则返回 True,否则返回 False
istitle()
#将字符串中大写转换为小写,小写转换为大写
title()
#返回字符串长度
len(string)
#转换字符串中所有大写字符为小写.
lower()
#转换字符串中的小写字母为大写
upper()
#返回字符串 str 中最大的字母。
max(str)
#返回字符串 str 中最小的字母。
min(str)
2. Python上述字符串方法使用示例
#python字符串方法示例
def test_string():a = "this is a test."b = "这是一句中文"c = " 两边有空格 中间有空格 "d = "test"print(a.capitalize())#out : This is a test.print(d.center(10, "-"))#out: ---test---print(d.center(11, "-"))#此时就不居中了#out: ----test---print(a.count("is"))print(a.count("is", 4))#out:2 1str_utf8 = b.encode("UTF-8")print("UTF-8 编码:", str_utf8)#out UTF-8 编码: b'\xe8\xbf\x99\xe6\x98\xaf\xe4\xb8\x...print(c.endswith(" "))#out: Trueb = "这是一句\t中文"print(b.expandtabs(tabsize=12))print(b.expandtabs(tabsize=13))print(a.find("test"))print(a.index('test'))print(a.find("ttt"))#index找不到会报错#print(a.index("ttt"))print("12.34".isdigit())print("0012.34".isdigit())print("0012.34".isdecimal()) print("二".isdigit())print("二".isnumeric())print("IV".isnumeric())print("IV".isdigit())print("abc中".isalpha())print("Hello,yes".istitle())print("Hello,Yes".istitle())#out: False False False False True False False True False Trueprint("This is a test, yes".title())print(d.upper())print("This is A Test".lower())print(max(a))print(min(d))#out This Is A Test, Yes TEST this is a test t e
二、FastAPI框架文件上传的处理-client使用postman
使用FastAPI处理文件上传,文件上传Content-Type必须使用multipart/form-data,因为python服务端必须要安装python-multipart模块。另外在postman客户端,需要在body中选择form-data,在下面的key输入框右边鼠标停留(会出现一个下拉选择file/text),选择file表示这是个文件域,从而右边可以上传文件。此时header中会自动生成Content-Type:multipart/form-data; boundary=<calculated when request is sent> 项,不需要我们手动配置 publish:November 20, 2020 -Friday。
#python安装python-multipart模块
$ pip install python-multipart
Collecting python-multipartDownloading python-multipart-0.0.5.tar.gz (32 kB)
Installing collected packages: python-multipart
Successfully installed python-multipart-0.0.5
现下来就是服务端的python处理程序了,FastAPI有两种处理的办法,一种是使用bytes二进制,一种是使用UploadFile。两种方法的示例代码如下:
from fastapi import File,UploadFile
import shutil
from pathlib import Path
from tempfile import NamedTemporaryFile@app.post("/test/upload", summary="bytes方式")
async def test_upload(files: bytes=File(...)):#打开一个文件。开始写入with open("a.txt", "w+", encoding="utf-8") as f:f.write(files.decode("utf-8"))f.flush()print(files.decode("utf-8"))return {"file_size": len(files)}@app.post("/test/fileupload", summary="UploadFile方式")
async def test_fileupload(files: UploadFile=File(...)):save_dir = "./uploads"try:suffix = Path(files.filename).suffix#创建一个临时文件并写入with NamedTemporaryFile(delete=Falst, suffix=suffix, dir=save_dir) as tmp:shutil.copyfileoby(files.file, tmp)tmp_file_name = Path(tmp.name).namefinally:files.file.close()return {"old_name":files.filename, "tmp_name":tmp_file_name}