os 和os.path 区别及使用

1.os(operating system

定义:该模块提供了使用操作系统相关功能的便携式方法。如果您只想读或写一个文件,请参阅open(),如果要操作路径,请参阅os.path模块,如果要读取命令行中所有文件中的所有行,请参阅fileinput模块。要创建临时文件和目录,请参阅tempfile模块,高级文件和目录处理请参阅shutil模块。







os.walk()

import os
for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        print(os.path.join(root, name))
    for name in dirs:
        print(os.path.join(root, name))
for 后面跟的参数名字不重要,叫  i,j 或者root,dirs, files都不重要。输出是按tuple 里面的顺序。for后面的 参数有一个和三个的两种,参数一个结果是元组

for i in os.walk('walk'):
    print(i)
 
*******i****************
('walk', ['sub1a', 'sub1b'], ['.DS_Store', 'sub1.txt', 'sub111.txt'])
('walk/sub1a', ['sub2a'], ['sub2a.txt', 'sub2aa.txt'])
('walk/sub1a/sub2a', ['sub3a'], [])
('walk/sub1a/sub2a/sub3a', [], [])
('walk/sub1b', [], ['sub2b.txt'])
*******i****************
输出的结果是tuple,tuple的第一项是路径字符串,第二项是第一项路径项目下的目录list,第三项是第一项路径项目下的文件list
有几个tuple,是由有几个目录决定的。
for a,b,c in os.walk('walk'):
    print(a)
print('***********************')
for a,b,c in os.walk('walk'):
    print(b)
print('***********************')
for a,b,c in os.walk('walk'):
    print(c)
***********************
walk
walk/sub1a
walk/sub1a/sub2a
walk/sub1a/sub2a/sub3a
walk/sub1b
***********************
['sub1a', 'sub1b']
['sub2a']
['sub3a']
[]
[]
***********************
['.DS_Store', 'sub1.txt', 'sub111.txt']
['sub2a.txt', 'sub2aa.txt']
[]
[]
['sub2b.txt']




os.listdir(path)

参数: path -- 需要列出的目录路径

返回值:返回的是一个list。路径path下的一级子目录。如果有文件夹,就只现实文件夹名字,不管文件夹里面的目录。返回指定路径下的文件和文件夹列表。

import os
print('***********************')
print(os.listdir('walk'))
print('***********************')

***********************
['.DS_Store', 'sub1.txt', 'sub111.txt', 'sub1a', 'sub1b']
***********************



os.rename()

rename()方法语法格式如下:

os.rename(src, dst)
参数:src -- 要修改的目录名     dst -- 修改后的目录名
返回值:该方法没有返回值
实例

以下实例演示了 rename() 方法的使用:


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

import os, sys

# 列出目录
print "目录为: %s"%os.listdir(os.getcwd())

# 重命名
os.rename("test","test2")

print "重命名成功。"

# 列出重命名后的目录
print "目录为: %s" %os.listdir(os.getcwd())




2.os.path

定义:该模块在路径名上实现一些有用的功能。 要读取或写入文件,请参阅open(),并且访问文件系统请参阅os模块。 路径参数可以作为字符串或字节传递。

 

os.path. isfile ( path )

Return True if path is an existing regular file. This follows symbolic links, so both islink() and isfile() can be true for the same path.

Changed in version 3.6: Accepts a path-like object.

os.path. isdir ( path )

Return True if path is an existing directory. This follows symbolic links, so both islink() and isdir() can be true for the same path.


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值