1.现象
获取文件系统目录下所有文件的列表
2.原因分析
没有3。解决问题
使用Os.listdir函数获取目录中文件的列表
Import OS
prin()# ' e : code python cookbook chapter 4 '
Os.chdir(' '))
prin()# ' e : code python cookbook '
Prin('/chapter4 '))
单击“”
['merged_file ''''''“sorted _ file _ 0”,“sorted _ file _ 1”,“sorted _ file _ 2”,“sorted _ file”
4 '' sorted_file_5']
Os.listdir函数返回目录中所有文件的列表,包括所有文件、子目录、符号链接等。
如果需要以某种方式过滤数据,可以结合os.path库中的某些函数使用列表派生
Names=[name for name in os.listdir('/chapter 4') if os。('/chapter 4 'name)]
dir _ names=[name for name in OS . listdir('/chapter 4') if os。('/chapter 4 'name))
py _ names=[name for name in OS . listdir('/chapter 4 ')if name . endswith(' py ')]
单击“”
[''''']。
可以考虑使用glob或fnmatch模块进行文件名匹配
Glob模块使用Unix通配符规则来匹配特定模式的路径名
Import glob
#相对路径
Py _ pattern=glob.glob('/chapter4/*。py') # py _ pattern与py_files匹配
#绝对路径
py _ ab _ pattern=glob . glob(' e : code python cookbook chapter 4 *。py') # py
py _ files=[name for name in py _ pattern]
单击“”
[’./chapter 4 ;'/chapter 4 ;'/chapter 4 ;'/chapter 4 ;'/chapter 4 ;]。
单击“”
py _ ab _ files=[name for name in py _ ab _ pattern]
单击“”
[' e : code python cookbook chapter 4 ;' e : code python cookbook chapter 4 ;' e : code python cookbook chapter 4 ;' e : code python cookbook chapter 4 ;' e : code python cookbook chapter 4 ;]。
' fnmatch模块支持UNIX shell格式的通配符
Import fnmatch
py _ files=[name for name in OS . listdir('/chapter 4') if (name,' *。py')]
单击“”
类'列表'[''''']。
“”可以轻松地从目录中获取列表,但仅返回目录中的实体名称列表
如果需要获取其他元信息(如文件大小、修改时间等),则必须使用os.path模块中的函数或os.stat函数收集数据。
Import glob
Import time
Import OS
Py _ pattern=glob.glob('/chapter4/*。py ')
Py _ meta=[(名称,os。(名称),操作系统。(名称))for name in py _ pattern]
For name、size和mtime in py _ meta :
打印(name、size、(mtime))
单击“”
./chapter 4 1460 sat oct 9 22:14336052 2021
./chapter 4 1663 sun oct 10 17:01:04 2021
./chapter 4 1276 monoct 11 22:07:16 2021
./chapter 4 1902 sat oct 23 17:0:45 2021
./chapter 4 2733 sat oct 23 21:42336016 2021
单击“”
Print('#### ')
File _ meta=[(名称,os.stat(名称))for name in py _ pattern]
For name,meta in file_meta:
打印(name、me、me)
单击“”
./chapter4 1460 16378892.536979
./chapter 4 1663 1633856464.6744094
./chapter 4 1276163961236.9767005
./chapter 4 1902 1634979825.0937288
./chapter 4 2709 1634996395.330934
最后需要注意的是,在处理文件名编码问题时可能会出现问题。
通常来讲,函数os.listdir函数返回的实体列表会根据系统默认的文件名编码来解码。有时候会碰到一些不能正常解码的文件名,需要我们进行特殊处理。
import os
import sys
import locale
os.chdir('..')
print(type('pyx;)) # '<class 'str'>'
prin()) # 'utf-8'
prin()) # 'cp936'
# encoding 默认编码 cp936
with open('pyx;, 'w') as f_obj:
('Python!')
prin('.'))
"""
['.idea', 'chapter2', 'chapter3', 'chapter4', 'Chapter_1', 'data', 'main.py', 'models', 'notebooks', 'pyòx.txt', 'README.md', 'requiremen;]
"""
prin(b'.'))
"""
[b'.idea', b'chapter2', b'chapter3', b'chapter4', b'Chapter_1', b'data', b'main.py', b'models', b'notebooks', b'pyxc3xb2x.txt', b'README.md', b'requiremen;]
"""
with open(b'pyxc3xb2x.txt', 'r') as f_obj:
prin())
"""
Python!
"""
4. 错误经历
- 无
1.文章《如何列出某个目录下的所有文件》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《如何列出某个目录下的所有文件》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好