startswith()endswith() 方法提供了一个非常方便的方式去做字符串开头和结尾的检查。

1、查看指定目录下的所有文件名

>>> import os
>>> filenames = os.listdir('I:\PythonTest')
>>> filenames
['111.csv', '111.xlsx', '111.xml', '123.txt', '123.xlsx', '123123.xml', '123123.xml.bak', '1234.txt', '222.xml', 'book.xml', 'book.xml.bak', 'excelWrite.csv', 'excelWrite.xlsx', 'Koala.jpg', 'movie.xml', 'movie.xml.bak', 'movies.xml', 'receive.txt', 'user.xml', 'user.xml.bak', '新建文件夹']

2、列出.txt文件名

>>> for i in filenames:
if i.endswith('.txt'):
print(i) 123.txt
1234.txt
receive.txt

另外一种写法:

>>> i for i in filenames if i.endswith('.txt')
SyntaxError: invalid syntax
>>> [i for i in filenames if i.endswith('.txt')] #结果返回一个list[]
['123.txt', '1234.txt', 'receive.txt']
>>> a = [i for i in filenames if i.endswith('.txt')]
>>> print(a)
['123.txt', '1234.txt', 'receive.txt']

3、同时列出.txt和.xml文件

如果你想检查多种匹配可能,只需要将所有的匹配项放入到一个元组(‘a’,’b’,’c’)中去, 然后传给startswith() 或者 endswith() 方法

>>> for i in filenames:
if i.endswith(('.txt','.xml')):
print(i) 111.xml
123.txt
123123.xml
1234.txt
222.xml
book.xml
movie.xml
movies.xml
receive.txt
user.xml
>>> [i for i in filenames if i.endswith(('.txt','.xml'))]
['111.xml', '123.txt', '123123.xml', '1234.txt', '222.xml', 'book.xml', 'movie.xml', 'movies.xml', 'receive.txt', 'user.xml']

4、列出开头为book和1的文件名

>>> [i for i in filenames if i.startswith(('book',''))]
['111.csv', '111.xlsx', '111.xml', '123.txt', '123.xlsx', '123123.xml', '123123.xml.bak', '1234.txt', 'book.xml', 'book.xml.bak']

5、查看是否存在xml的文件

检查某个文件夹中是否存在指定的文件类型:

if any(name.endswith(('.c', '.h')) for name in listdir(dirname)):
>>> any(name.endswith('.xml') for name in filenames)
True

参考资料:http://python3-cookbook.readthedocs.org/zh_CN/latest/c02/p02_match_text_at_start_end.html

最新文章

  1. Mysql调整字段顺序
  2. IntelliJ IDEA使用小技巧
  3. 安装文件制作工具Wix概念快速入门
  4. Apache Lucene 4.5 发布,Java 搜索引擎
  5. WP开发资源
  6. jquery 如何遍历json
  7. 简单的session共享的封装
  8. js风格技巧
  9. [转] ReactNative Animated动画详解
  10. 空类的默认函数—— SAP电面(2)/FEI
  11. kinect for windows - 初认识
  12. transition与animation
  13. c/c++程序员的技术栈
  14. 那些年我们跳过的 IE坑
  15. CentOS安装和配置Rsync进行文件同步
  16. 将 GitHub 的某人的特定仓库复制到自己的账户下 的方法
  17. 以虎嗅网4W+文章的文本挖掘为例,展现数据分析的一整套流程
  18. python简单实现队列和栈push、pop操作
  19. ARM 寄存器
  20. Silverlight从客户端上传文件到服务器

热门文章

  1. “The SQL Server license agreenment cannot be located for the selected edition.”MSSQL安装问题
  2. JavaScript 客户端JavaScript之样式表操作(DOM API 提供模块之一)
  3. 对于没有Command属性时,怎么来达到相同的效果
  4. stax解析XML-----Demo
  5. C++拾遗(七)函数相关(2)
  6. centos 安装php
  7. javaScript的select元素和option的相关操作
  8. jQuery制作go to top按钮
  9. flask开发restful api系列(7)-蓝图与项目结构
  10. 宏定义 button 方法 --备