Python文件与文件路径

os.path 模块包含了许多与文件名和文件路径相关的有用函数,完整文档。导入时需要使用import.os,否则会出现错误NameError: name 'os' is not defined

在Windows上分隔文件路径用的是\,在Mac上用的是/,可以用os.path.join()来返回所需要的分隔符,Mac示例代码:

import os
print(os.path.join("a","b","c"))

返回结果:

a/b/c

示例代码2:

import os
a=['1.txt','2.doc','3.xls']
for i in a:
	print(os.path.join('Users',i))

输出结果:

Users/1.txt
Users/2.doc
Users/3.xls

显示与修改当前工作目录,示例代码:

import os
print(os.getcwd())#返回当前工作目录
os.chdir("/Users/zhangxiaoqing/PycharmProjects/1/venv")#修改当前工作目录
print(os.getcwd())#返回当前工作目录

输出结果:

/Users/zhangxiaoqing/PycharmProjects/1
/Users/zhangxiaoqing/PycharmProjects/1/venv

修改当前目录不存在,示例代码:

import os
os.chdir("/Users/zhangxiaoqig/PycharmProjects/1/venv")#修改当前工作目录

输出结果:

Traceback (most recent call last):
  File "/Users/zhangxiaoqing/PycharmProjects/1/1.py", line 2, in <module>
	os.chdir("/Users/zhangxiaoqig/PycharmProjects/1/venv")#修改当前工作目录
FileNotFoundError: [Errno 2] No such file or directory: '/Users/zhangxiaoqig/PycharmProjects/1/venv'

“绝对路径”:总是从根文件夹开始,用单个点.表示,例如c:\1.txt

“相对路径”:它相对于程序的当前工作目录,用两个点…表示,例如..\1.txt

创建文件夹示例代码:

import os
print(os.getcwd())
os.makedirs('/Users/zhangxiaoqing/PycharmProjects/1/2/3/4')#创建文件夹示例代码

绝对、相对路径示例代码:

import os
print(os.path.abspath('.'))#返回参数的绝对路径
print(os.path.isabs('.'))#判断是否是绝对路径
print(os.path.relpath('1'))#不加参数,使用当前目录为开始路径
print(os.path.relpath('zhangxiaoqing','Users'))#加参数,返回从start"Users"到Path相对路径

输出结果:

/Users/zhangxiaoqing/PycharmProjects/1
False
1
../zhangxiaoqing

返回斜杠前后内容示例代码:

import os
print(os.path.basename("/Users/zhangxiaoqing/PycharmProjects/1/1.jpg"))#返回最后一个斜杠后的内容,也叫基本名称
print(os.path.dirname('/Users/zhangxiaoqing/PycharmProjects/1/1.jpg'))#返回最后一个斜杠前的内容,也叫目录名称
print(os.path.split('/Users/zhangxiaoqing/PycharmProjects/1/1.jpg'))#返回目录名称和基本名称

a='/Users/zhangxiaoqing/PycharmProjects/1/1.jpg'
print(a.split(os.path.sep))#根据'os.path.sep'中的字符串分割路径,Linux前会加一个''空字符串
print(os.path.sep)

输出结果:

1.jpg
/Users/zhangxiaoqing/PycharmProjects/1
('/Users/zhangxiaoqing/PycharmProjects/1', '1.jpg')
['', 'Users', 'zhangxiaoqing', 'PycharmProjects', '1', '1.jpg']
/

获得文件大小及文件列表,示例代码:

import os
print(os.path.getsize('/Users/zhangxiaoqing/PycharmProjects/1/1.jpg'))#返回文件的字节数
print(os.listdir('/Users/zhangxiaoqing/PycharmProjects/1'))#返回path中的文件列表

输出结果:

48971
['2.html', '1.html', 'example.xlsx', '1.py', 'venv', '2.png', '3.png', '1.jpg', '1.png', '2', '.idea']

获得总文件大小示例代码:

import os
total=0
for i in os.listdir('/Users/zhangxiaoqing/PycharmProjects/1'):
	total=total+os.path.getsize(os.path.join('/Users/zhangxiaoqing/PycharmProjects/1',i))
print(total)

输出结果:

423700

检查路径、文件、文件夹是否存在示例代码:

import os
print(os.path.exists('/Users/zhangxiaoqing/PycharmProjects/1'))#判断文件或路径是否存在
print(os.path.exists('/Users/zhangxiaoqing/PycharmProjects/2'))#判断文件或路径是否存在
print(os.path.isfile('/Users/zhangxiaoqing/PycharmProjects/1/1.jpg'))#判断文件是否存在
print(os.path.isfile('/Users/zhangxiaoqing/PycharmProjects/1/a.jpg'))#判断文件是否存在
print(os.path.isdir('/Users/zhangxiaoqing/PycharmProjects/1'))#判断文件夹是否存在
print(os.path.isdir('/Users/zhangxiaoqing/PycharmProjects/2'))#判断文件夹是否存在

输出结果:

True
False
True
False
True
False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值