例如,某文件系统目录下有一系列文件:
quicksort.c graph.py heap.java install.sh stack.app
要求:给其中所有的 .sh 和 .py 文件加上用户可执行权限。
解决方案:
使用字符串的 startswith() 和 endswith() 方法,多个匹配时参数使用元组。
对于字符串的 startswith() 和 endswith() 方法:字符串的 startswith() 方法表示以指定字符串开头,匹配到则返回True,否则返回False;
字符串的 endswith() 方法表示以指定字符串结尾,匹配到则返回True,否则返回False。
对于 os.listdir() 方法:os.listdir(path)
os.listdir() 方法用于返回指定目录中包含的文件或目录的名字的列表,该列表以字母顺序。
对于 os.stat() 方法:os.stat(path, dir_fd, follow_symlinks)
os.stat() 方法在给定路径上执行一个stat系统调用,用来返回相关文件的系统状态信息。 path 表示待检查的路径。
对于 os.chmod() 方法:os.chmod(path, mode, dir_fd, follow_symlinks)
os.chmod() 方法用于更改文件或目录的权限。 path 表示要修改的路径或文件名; mode 表示要修改的属性。
对于 stat.S_IXUSR 属性:stat.S_IXUSR 表示拥有者具有执行权限0o100。
类似的 stat.S_IRUSR 表示拥有者具有读权限0o400; stat.S_IWUSR 表示拥有者具有写权限0o200; stat.S_IRWXU 表示拥有者有全部权限(权限掩码)0o700; stat.S_IXGRP 表示组用户有执行权限0o010; stat.S_IXOTH 表示其他用户有执行权0o001。
方案示例:import osimport statfor fn in os.listdir('.'): #文件目录路径 if fn.endswith(('.py', '.sh')): fs = os.stat(fn) #读取文件状态 os.chmod(fn, fs.st_mode | stat.S_IXUSR) # |表示或操作
查看更多关于9. 判断字符串是否以另一字符串开头或结尾的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did126757