Python中提供的内置函数中endswith()是用于判断一个字符串是否以特定的字符串后缀结尾,如果是则返回逻辑值True,否则返回逻辑值False.
该函数与startswith()函数相似,只不过startswith()函数用于判断一个字符串是否以特定的字符串前缀开始。
Python中的endswith()函数的语法格式如下:
string_object.endswith ( suffix [ , start [ , end ]] )
各参数的含义如下:
该函数的返回值为逻辑值,如果字符串中包含指定的后缀则返回True,否则返回False。
str1 = "武林网VEVB"
str_suffix = "VEVB"
rtn_result = str1.endswith(str_suffix)
print(rtn_result)
输出:True
rtn_result = "武林网VEVB".endswith("IT")
print(rtn_result)
输出:False
str1 = "武林网VEVB"
str_suffix = "VEVB"
rtn_result = str1.endswith(str_suffix, 2)
print(rtn_result)
rtn_result = str1.endswith(str_suffix, 3)
print(rtn_result)
rtn_result = str1.endswith(str_suffix, 4)
print(rtn_result)
输出:
True
True
False
该参数必须是在指定了start参数的前提下才能使用。
str1 = "武林网VEVB"
print(str1.endswith("VEVB", 2, 5))
print(str1.endswith("VEVB", 2, 6))
print(str1.endswith("VEVB", 2, 7))
输出:
False
False
True
该函数的start参数和end参数同样可以使用小于0的整数,具体可以见startswith()函数中的相关内容。
str1 = "I am a student"
suffix =("tutor", "teacher", "student", "headteacher")
rtn_result = str1.endswith(suffix)
print(rtn_result)
输出:True
这里,endswith()函数将会一一比较字符串中是否包含元组中的某一个元素,如果字符串的后缀包含元组中的某一个元素,则返回True.
这个例子要演示文档上传处理时的一个情景。程序根据用户上传的不同文档类型,保存到不同的目录中。
save_path = "Upload//"
upload_file = "年度报表.docx"
if upload_file.lower().endswith((".doc",".docx")):
save_path += "word//" + upload_file
elif upload_file.lower().endswith((".xls", ".xlsx")):
save_path += "excel//" + upload_file
else:
save_path += "others//" + upload_file
print(save_path)
输出:Upload/word/年度报表.docx
该段程序首先将用户上传文件的名称使用lower()函数转换为小写形式 ,然后使用endswith()函数判断是否某个特定文件的后缀,然后使用 += 运算符把基础路径和文件路径拼接起来。其在Python3.8.2中运行情况:
新闻热点
疑难解答