os模块对文件路径的-概述

(1)os.path.join()函数

如果将单个文件和路径上的文件夹名称的字符串传递给它,os.path.join()就会返回一个文件路径的字符串,包含正确的路径分隔符。

>>> import os
>>> os.path.join('usr', 'bin', 'spam')
'usr\\bin\\spam'  #出现两个反斜杠的原因是因为有一个是转义字符。 

import os
a = os.path.join('usr', 'bin', 'spam')
print(a)#返回usr\bin\spam

还可以使用os.path.join(a,b)   a是b的爸爸

例:

import os
a = ['a','b','c']

for i in a:
    print(os.path.join('G:\\1\\2\\', i))

输出:
G:\1\2\a.txt
G:\1\2\b.txt
G:\1\2\c.txt

(2)os.getcwd()函数 返回当前目录

例:

import os

print(os.getcwd())#返回当前的工作目录

 

(3)用os.makedirs()创建新文件夹

import os
os.makedirs('G:\\新的\\文件夹') #新建的文件夹 ‘新的’是‘文件夹’的爸爸 俩都是文件夹

(4)处理绝对路径和相对路径

• 调用os.path.abspath(path)将返回参数的绝对路径的字符串。这是将相对路径转
换为绝对路径的简便方法。
• 调用os.path.isabs(path),如果参数是一个绝对路径,就返回True,如果参数是
一个相对路径,就返回False。
• 调用os.path.relpath(path, start)将返回从start 路径到path 的相对路径的字符串。
如果没有提供start,就使用当前工作目录作为开始路径。

>>> os.path.relpath('C:\\Windows', 'C:\\')
'Windows'
>>> os.path.relpath('C:\\Windows', 'C:\\spam\\eggs')
'..\\..\\Windows'
>>> os.getcwd()
'C:\\Python34'

 

调用os.path.dirname(path)将返回一个字符串,它包含path 参数中最后一个斜杠之前的所有内容。

调用os.path.basename(path)将返回一个字符串,它包含path 参数中最后一个斜杠之后的所有内容。

>>> path = 'C:\\Windows\\System32\\calc.exe'
>>> os.path.basename(path)
'calc.exe'
>>> os.path.dirname(path)
'C:\\Windows\\System32'

如果同时需要一个路径的目录名称和基本名称,就可以调用os.path.split(),获得这两个字符串的元组

得这两个字符串的元组,像这样:
>>> calcFilePath = 'C:\\Windows\\System32\\calc.exe'
>>> os.path.split(calcFilePath)
('C:\\Windows\\System32', 'calc.exe')

 

import os
path = 'G:\\xin\\dd\\sa.txt' #传进去目录
print(path.split(os.path.sep)) #将目录转换为列表。

输出:['G:', 'xin', 'dd', 'sa.txt']

split()字符串方法将返回一个列表,包含该路径的所有部分。如果向它传递
os.path.sep,就能在所有操作系统上工作。

 

(4)查看文件大小和文件夹内容

调用os.path.getsize(path)将返回path 参数中文件的字节数。 就是返回某个文件的大小

import os 

os.path.getsize('G:\')

调用os.listdir(path)将返回文件名字符串的列表,包含path 参数中的每个文件

import os 

>>> os.listdir('G:\\python\\')
['.idea', 'anaconda']
遍历目录下的文件

 

检查路径的有效性

• 如果path 参数所指的文件或文件夹存在,调用os.path.exists(path)将返回True,
否则返回False。
• 如果path 参数存在,并且是一个文件,调用os.path.isfile(path)将返回True,否
则返回False。
• 如果path 参数存在,并且是一个文件夹,调用os.path.isdir(path)将返回True,
否则返回False。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值