当前位置: 移动技术网 > IT编程>脚本编程>Python > python中OS模块的使用

python中OS模块的使用

2020年04月29日  | 移动技术网IT编程  | 我要评论

魂断楼兰好看吗,二手化工设备网,黄宏宋丹丹小品

os模块是python中用来对目录操作的一个模块。

基本函数如下:

os.mkdir():创建一个目录;os.makedirs():创建多层目录。

os.rmdir():删除一个目录;os.removedirs():删除多层目录。

os.listdir():列出目录下的目录及文件。

os.getcwd():获取当前绝对路径。

os.chdir():改变当前路径。

os.walk():遍历给定路径下的目录和文件。

基本使用如下:

>>> import os
>>> os.mkdir('text')
>>> os.makedirs('a/b/c/d')
>>> os.listdir('.')
['a', 'text', 'zz.py', '题目']
>>> os.rmdir('text')
>>> os.removedirs('a/b/c/d')
>>> os.listdir('.')
['zz.py', '题目']
>>> os.listdir('c:/')
['$recycle.bin', 'documents and settings', 'hiberfil.sys', 'intel', 'msocache', 'perflogs', 'program files', 'program files (x86)', 'programdata', 'recovery', 'swapfile.sys', 'system volume information', 'users', 'vnc', 'vnc.zip', 'windows']
>>> os.getcwd()
'e:\\1.个人网盘云端\\2.学习成长\\4.python\\demo'
>>> os.chdir('c:/')
>>> os.listdir('.')
['$recycle.bin', 'documents and settings', 'hiberfil.sys', 'intel', 'msocache', 'perflogs', 'program files', 'program files (x86)', 'programdata', 'recovery', 'swapfile.sys', 'system volume information', 'users', 'vnc', 'vnc.zip', 'windows']
>>> os.chdir('e:\\1.个人网盘云端\\2.学习成长\\4.python\\demo')
>>> os.listdir('.')
['zz.py', '题目']
>>>

两个小例子:遍历目录下的文件。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os

def dirlist(path):
    filelist = os.listdir(path)
    for filename in filelist:
        fpath = os.path.join(path,filename)
        if os.path.isdir(fpath):
            dirlist(fpath)
        print(fpath)
dirlist('e:\\1.个人网盘云端\\2.学习成长\\4.python\\demo\\textdir')

使用os.walk()遍历目录下的目录和文件。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os

#os.walk()函数,遍历给定路径下的目录和文件
dirt = os.walk('e:\\1.个人网盘云端\\2.学习成长\\4.python\\demo\\textdir')
#返回一个元组,([路径][目录][文件])

for path,dirlist,filelist in dirt:
    for filename in filelist:
        print(os.path.join(path,filename))

os.walk模块返回的是一个元组,里面有3个列表,分别存放绝对路径、路径下的目录、路径下的文件。

不过不能直接查看,它是一个walk的对象,需要遍历才能读取数据。

测试:

>>> import os
>>> dirt = os.walk('e:\\1.个人网盘云端\\2.学习成长\\4.python\\demo\\textdir')
>>> dirt
<generator object walk at 0x04033df0>
>>> for path,dirlist,filelist in dirt:
    print(path,dirlist,filelist)

e:\1.个人网盘云端\2.学习成长\4.python\demo\textdir ['file1', 'file2', 'file3', 'file4', 'file5', 'timu'] []
e:\1.个人网盘云端\2.学习成长\4.python\demo\textdir\file1 [] ['文件1.txt', '文件2.txt']
e:\1.个人网盘云端\2.学习成长\4.python\demo\textdir\file2 [] ['文件3.txt']
e:\1.个人网盘云端\2.学习成长\4.python\demo\textdir\file3 [] []
e:\1.个人网盘云端\2.学习成长\4.python\demo\textdir\file4 [] []
e:\1.个人网盘云端\2.学习成长\4.python\demo\textdir\file5 [] []

os.walk()用的最多的应该就是里面的filelist,里面包含了所有文件名称。

这里os.path.join(path,filename)的意思是将path和filename链接起来。下去试一试就明白了。


读书和健身总有一个在路上

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网