问题15:如何判断字符串a是否以字符串b开头或结尾 问题15:如何判断字符串a是否以字符串b开头或结尾

问题15:如何判断字符串a是否以字符串b开头或结尾

 

方法一:使用正则表达式的^和$实现

'^000':表示,只匹配字符串的开头,若开头是 '000' ,则返回 ['000'] ;

'000$':表示,只匹配字符串的结尾,若结尾是 '000' ,则返回 ['000'] ;

#弊端:一次只能匹配一种能,如首/尾是000,而不能同时判断000/111/222等多种情况;

方法二:使用字符串的str.startswith()和str.endswith()方法,返回True/False

#多钟情况进行匹配时,参数使用元组

复制代码
list_1 = '00100100100'

#一、判断字符串首位是否是00
print(list_1.startswith('00'))
#输出:True
print(list_1.endswith('00'))
#输出:True

#二、判断字符串list_1的首位字符是否是00或者001
#多个条件需要封装成元组: ('00', '001'),此处只能是元组,不能是列表;
print(list_1.startswith(('00', '001')))
#输出:True
print(list_1.endswith(('00', '001')))
#输出:True
复制代码

案例:编写程序给文件夹中所有的.sh文件和.py文件,加上用户可执行权限

#什么是用户可执行权限?

#一种权限对应一种掩码,什么是掩码?

复制代码
import os, stat

#os模块:系统调用模块
#stat模块:与文件状态相关

#读取某文件夹下所有文件的文件名,以列表形式返回:['文件名1', '文件名2']
name_1 = os.listdir('文件路径')
name_2 = [x for x in name_1 if x.endswith(('.py', '.sh'))]

#查看文件状态,可获取文件各种属性
a = os.stat('文件名')

#查看文件的其中一个属性,st_mode为文件的一个权限属性
#a1是一个十进制数,若想更直观的通过数值知道文件属性,可将此十进制数转换为8进制数;
#为什么八进制数更能看出文件属性??
a1 = os.stat('文件名').st_mode

#修改文件权限:先找到'用户执行权限'所对应的掩码,将此掩码与a1取或
#获取文件掩码
a2 = stat.S_IXUSR

#使用os模块下的chmod()方法改变文件权限,即两种掩码取或
os.chmod('文件名', os.stat('文件名').st_mode | stat.S_IXUSR)
复制代码

方法一:使用正则表达式的^和$实现

'^000':表示,只匹配字符串的开头,若开头是 '000' ,则返回 ['000'] ;

'000$':表示,只匹配字符串的结尾,若结尾是 '000' ,则返回 ['000'] ;

#弊端:一次只能匹配一种能,如首/尾是000,而不能同时判断000/111/222等多种情况;

方法二:使用字符串的str.startswith()和str.endswith()方法,返回True/False

#多钟情况进行匹配时,参数使用元组

复制代码
list_1 = '00100100100'

#一、判断字符串首位是否是00
print(list_1.startswith('00'))
#输出:True
print(list_1.endswith('00'))
#输出:True

#二、判断字符串list_1的首位字符是否是00或者001
#多个条件需要封装成元组: ('00', '001'),此处只能是元组,不能是列表;
print(list_1.startswith(('00', '001')))
#输出:True
print(list_1.endswith(('00', '001')))
#输出:True
复制代码

案例:编写程序给文件夹中所有的.sh文件和.py文件,加上用户可执行权限

#什么是用户可执行权限?

#一种权限对应一种掩码,什么是掩码?

复制代码
import os, stat

#os模块:系统调用模块
#stat模块:与文件状态相关

#读取某文件夹下所有文件的文件名,以列表形式返回:['文件名1', '文件名2']
name_1 = os.listdir('文件路径')
name_2 = [x for x in name_1 if x.endswith(('.py', '.sh'))]

#查看文件状态,可获取文件各种属性
a = os.stat('文件名')

#查看文件的其中一个属性,st_mode为文件的一个权限属性
#a1是一个十进制数,若想更直观的通过数值知道文件属性,可将此十进制数转换为8进制数;
#为什么八进制数更能看出文件属性??
a1 = os.stat('文件名').st_mode

#修改文件权限:先找到'用户执行权限'所对应的掩码,将此掩码与a1取或
#获取文件掩码
a2 = stat.S_IXUSR

#使用os模块下的chmod()方法改变文件权限,即两种掩码取或
os.chmod('文件名', os.stat('文件名').st_mode | stat.S_IXUSR)
复制代码

猜你喜欢

转载自www.cnblogs.com/valorchang/p/11434580.html