4-2如何判断字符串a是否以字符串b开头或结尾
1、相关介绍
1.1修改文件权限和查看文件权限
在windows平台实验时 os.chmod()无法将文件权限修改为可执行,暂不深究如何实现。在linux平台进行测试。
(1)创建三个文件
python@ubuntu:/tmp/vmware-python$ ls
vmware-apploader-5673.log
python@ubuntu:/tmp/vmware-python$ touch a.py b.sh c.txt
python@ubuntu:/tmp/vmware-python$ ls -l
总用量 8
-rw-rw-r-- 1 python python 0 10月 26 17:26 a.py
-rw-rw-r-- 1 python python 0 10月 26 17:26 b.sh
-rw-rw-r-- 1 python python 0 10月 26 17:26 c.txt
-rw-r----- 1 python python 4532 10月 26 17:22 vmware-apploader-5673.log
(2)在linux shell界面进入python shell
python@ubuntu:/tmp/vmware-python$ python
Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(3)查看文件权限
>>> import os,stat
>>> os.stat('a.py')
posix.stat_result(st_mode=33204, st_ino=786703, st_dev=2049, st_nlink=1, st_uid=1000, st_gid=1000, st_size=0, st_atime=1509009983, st_mtime=1509009983, st_ctime=1509009983)
>>> oct(os.stat('a.py').st_mode)
'0100664' #其中 “664”就是权限代码
(4)修改文件权限
>>> stat.S_IXUSR #执行权限的掩码
64
>>> os.chmod('a.py',os.stat('a.py').st_mode |stat.S_IXUSR)
>>> oct(os.stat('a.py').st_mode)
''
>>> exit()
再次查看文件权限
python@ubuntu:/tmp/vmware-python$ ls
a.py b.sh c.txt vmware-apploader-5673.log
python@ubuntu:/tmp/vmware-python$ ls -l
总用量 8
-rwxrw-r-- 1 python python 0 10月 26 17:26 a.py
-rw-rw-r-- 1 python python 0 10月 26 17:26 b.sh
-rw-rw-r-- 1 python python 0 10月 26 17:26 c.txt
-rw-r----- 1 python python 4532 10月 26 17:22 vmware-apploader-5673.log
1.2用符串的endswith()的方法
>>> s = 'a.py'
>>> s.endswith('.py')
True
endswith()可以接受元组参数,只要满足元组的一项,即为真。(参数只能是元组不能是列表)
>>> s.endswith(('.py','.sh'))
True
>>> s.endswith(('.sh','.txt'))
False
2、实现方法
>>> import os,stat
>>> [x for x in os.listdir('.') if x.endswith(('.sh','.py'))]
['a.py', 'b.sh'] >>> lFile = [x for x in os.listdir('.') if x.endswith(('.sh','.py'))]
>>> for x in lFile:
... os.chmod(x,os.stat(x).st_mode | stat.S_IXUSR)
...
>>> os.listdir('.')
['vmware-apploader-5673.log', 'c.txt', 'a.py', 'b.sh']
>>> exit()
查看文件权限:
python@ubuntu:/tmp/vmware-python$ ls -l
总用量 8
-rwxrw-r-- 1 python python 0 10月 26 17:26 a.py
-rwxrw-r-- 1 python python 0 10月 26 17:26 b.sh
-rw-rw-r-- 1 python python 0 10月 26 17:26 c.txt
-rw-r----- 1 python python 4532 10月 26 17:22 vmware-apploader-5673.log
>>> import os
>>> [x for x in os.listdir('.') if x.endswith(('.sh','.py'))]
['a.py', 'b.sh']
3、扩展知识
3.1 os.stat()
>>> help(os.stat)
Help on built-in function stat in module nt: stat(...)
stat(path) -> stat result Perform a stat system call on the given path.
help(os.stat)
获取文件属性:os.stat(file),如本例中
>>> os.stat('a.py')
posix.stat_result(st_mode=33204, st_ino=786703, st_dev=2049, st_nlink=1, st_uid=1000, st_gid=1000, st_size=0, st_atime=1509009983, st_mtime=1509009983, st_ctime=1509009983)
3.2 str.startswith()
>>> help(str.startswith)
Help on method_descriptor: startswith(...)
S.startswith(prefix[, start[, end]]) -> bool Return True if S starts with the specified prefix, False otherwise.
With optional start, test S beginning at that position.
With optional end, stop comparing S at that position.
prefix can also be a tuple of strings to try.
help(str.startswith)
3.3 str.endswith()
>>> help(str.endswith)
Help on method_descriptor: endswith(...)
S.endswith(suffix[, start[, end]]) -> bool Return True if S ends with the specified suffix, False otherwise.
With optional start, test S beginning at that position.
With optional end, stop comparing S at that position.
suffix can also be a tuple of strings to try.
help(str.endswith)
4-2如何判断字符串a是否以字符串b开头或结尾的更多相关文章
- C#算法之判断一个字符串是否是对称字符串
记得曾经一次面试时,面试官给我电脑,让我现场写个算法,判断一个字符串是不是对称字符串.我当时用了几分钟写了一个很简单的代码. 这里说的对称字符串是指字符串的左边和右边字符顺序相反,如"abb ...
- String的两个API,判断指定字符串是否包含另一字符串,在字符串中删除指定字符串。
// 在字符串中删除指定字符串. String phoneNum="1795112345"; phoneNum = phoneNum.replace("17951&quo ...
- php 判断字符串在另一个字符串中位置
$email='user@example.com'; //定义字符串$result=strstr($email,'@'); //返回子字符串echo $result; / ...
- Mysql查找如何判断字段是否包含某个字符串
Mysql查找如何判断字段是否包含某个字符串 有这样一个需求,在Mysql数据库字符串字段(权限)中,用户有多个不同的邮箱,分别被‘,’分开,现在要取出某个邮箱的所有成员列表. 假设有个表: ...
- 【功能代码】---3 JS判断字符串是否包含某个字符串
JS判断字符串是否包含某个字符串 var str ="abc"; if(str.indexOf("bc")>-1){ alert('str中包含bc字符串 ...
- go golang 判断base64数据 获取随机字符串 截取字符串
go golang 判断base64数据 获取随机字符串 截取字符串 先少写点,占个坑,以后接着加. 1,获取指定长度随机字符串 func RandomDigits(length int) strin ...
- python_如何判断字符串a以某个字符串开头或结尾?
案例: 某文件系统目录下有一系列文件: 1.c 2.py 3.java 4.sh 5.cpp ...... 编写一个程序,给其中所有的.sh文件和.py文件加上可执行权限 如何解决这个问题? 1. 先 ...
- mysql判断表里面一个逗号分隔的字符串是否包含单个字符串、查询结果用逗号分隔
1.mysql判断表里面一个逗号分隔的字符串是否包含单个字符串 : FIND_IN_SET select * from tablename where FIND_IN_SET(传的参数,匹配字段) 例 ...
- java算法:统计数字-将数字转换成字符串,然后使用字符串String.valueOf()方法进行判断
题目: 计算数字 k 在 0 到 n 中的出现的次数,k 可能是 0~9 的一个值. 样例 样例 1: 输入: k = 1, n = 1 输出: 1 解释: 在 [0, 1] 中,我们发现 1 出现了 ...
- js判断字符串str是否包含字符串substr
js判断字符串str是否包含字符串substr: function addUser(id,realName){ var userids = $("#userids").val(); ...
随机推荐
- LeetCode - 乘积最大子串
给定一个整数数组 nums ,找出一个序列中乘积最大的连续子串(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6. 示例 2: ...
- XML 验证
拥有正确语法的 XML 被称为“形式良好”的 XML. 通过 DTD 验证的 XML 是“合法”的 XML. 形式良好的 XML 文档 “形式良好”或“结构良好”的 XML 文档拥有正确的语法. “形 ...
- C/C++中结构体引用中箭头->与点.的区别
1.作用 ->主要用于类类型的指针访问类的成员,而.运算符,主要用于类类型的对象访问类的成员. 举例: class A { public : int member; } A a; //定义一个结 ...
- 【HDU6667】Roundgod and Milk Tea【贪心】
题目大意:给你ai,bi,限制ai不能流向bi,求最大流 题解:贪心,对于第i个班级,考虑前i-1个班级匹配完剩余多少a,b,将这些ab对第i个班级进行贪心匹配 匹配完若第i个班级还有剩余的ab,考虑 ...
- FJOI2017 day2游记
day0 早上复习了一下凸包,lct的板子,发现现在的我好菜鸡啊,做题基本上还得看题解,自己不是很能分析出来. 下午去看考场,在附中机房又写了一遍lct,然后a掉了文理分科完就回去了. 回家的路上走在 ...
- navicat_premium_x64最新版安装说明
先到官网下载最新的navicat http://www.navicat.com.cn/ 下载破解文件 链接: https://pan.baidu.com/s/1hhsh5Tfe4c_lQeyX8D-C ...
- JAVA单例模式的实现伪代码
什么是单例?:其定义是单例对象的类只能允许一个实例存在 单例的实现基本原理:1.将该类的构造方法定义为私有访问,不对外暴露从而使其他类不能实例化该类对象,只能通过该类的静态方法得到该类的唯一实例 2. ...
- Oracle开发:常用的数据库字段类型[转]
Oracle常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 bytes VARCHAR2 可变长度的字符串 最大长度4000 bytes ...
- List of Mozilla-Based Applications
List of Mozilla-Based Applications The following is a list of all known active applications that are ...
- SSH port forwarding: bind: Cannot assign requested address
https://www.electricmonk.nl/log/2014/09/24/ssh-port-forwarding-bind-cannot-assign-requested-address/