os学习

一、os.path.join()函数

功能:连接两个或更多的路径名组件。
      1.如果各组件名首字母不包含’/’,则函数会自动加上。
      2.第一个以”/”开头的参数开始拼接,之前的参数全部丢弃,当有多个时,从最后一个开始。
      3.如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾。
print("22:",os.path.join('/aaaa/','bbbb/','ccccc.txt')) #通常可以这样写>>>22: aaaa/bbb/ccccc.txt
import os

Path1 = 'home'
Path2 = 'develop'
Path3 = 'code'

Path10 = Path1 + Path2 + Path3
Path20 = os.path.join(Path1, Path2, Path3)

print('Path10 = ', Path10)
print('Path20 = ', Path20)

# 输出:
Path10 = homedevelopcode
Path20 = home\develop\code

二、os.sep()函数

python是跨平台的。

在Windows上,文件的路径分隔符是'\',在Linux上是'/'。

os.sep根据你所处的平台,自动采用相应的分隔符号。

dir = os.sep("usr", os.sep, "share", os.sep, "python")
=> Linux  下的路径为 /usr/share/python,那么上面的os.sep就是‘/;
=> windows下的路径为 \usr\share\python,那么上面的os.sep就是‘\’.	

三、os.walk()函数

os.walk(top, topdown=True, οnerrοr=None, followlinks=False)
可以得到一个三元tupple(dirpath, dirnames, filenames),

第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。

dirpath:一个String,代表目录的路径,
dirnames:一个list,包含了dirpath下所有子目录的名字。
filenames:一个list,包含了非目录文件的名字。

这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).
通过for循环自动完成递归枚举
例如:
F:\aaa 目录是这样的文件目录结构
F:\aaa
|--------1.txt
|--------2.txt
|--------3.txt
|--------4
       |-------5.txt
       |-------6.txt
       |-------7.txt

分别打印各个参数的实际值:

#!/usr/bin/env python  
# 2.py  
# use UTF-8  
# Python 3.3.0  
  
# os.walk()的使用  
import os  
  
# 枚举dirPath目录下的所有文件  
  
def main():  
#begin  
    fileDir = "F:" + os.sep + "aaa"     # 查找F:\aaa 目录下    
    for root, dirs, files in os.walk(fileDir):  
    #begin  
        print(root)  
        print(dirs)  
        print(files)  
    #end  
    os.system("pause")  
#end  
  
if __name__ == '__main__':  
#begin  
    main()  
#end  
  
  
# 输出  
# F:\aaa  
# ['4']  
# ['1.txt', '2.txt', '3.txt']  
# F:\aaa\4  
# []  
# ['5.txt', '6.txt', '7.txt']

四、os.listdir()函数

      返回指定的文件夹包含的文件或文件夹的名字的列表,但是子目录下文件不遍历。

五、待更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值