程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

os.walk和os.path.join()

发布于2019-08-06 19:12     阅读(658)     评论(0)     点赞(1)     收藏(1)


os.walk和os.path.join()

  • 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).

import os

a = r"C:\Users\xuefei\Desktop\1"
for root, dirs, files in os.walk(a):
    print(root)
    print(dirs)
    print(files)

#先挖取第一层的root:路径,“str”;第一层的dirs:所有的文件夹的列表;第一层的files,文件名
#再依次挖取第二层的。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • os.path.join() 函数:连接两个或更多的路径名组件
    1.如果各组件名首字母不包含’ / ’,则函数会自动加上
    2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃
    3.如果最后一个组件为空,则生成的路径以一个’ / ’分隔符结尾
Demo1
#如果各组件名首字母不包含’ / ’,则函数会自动加上
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
Demo2
#如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
Demo3
#如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃
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 = home / developcode
Path20 = / develop\code
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
Demo4
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 = homedevelop / code
Path20 = / code
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15


所属网站分类: 技术文章 > 博客

作者:23hdsdh

链接:https://www.pythonheidong.com/blog/article/9323/f392be58f6c9fced8aa4/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)