OS包
os包:IOS macOS,operate system 操作系统。主要负责新建文件、改文件名、路径、操作电脑系统相关的功能。是一个内置包。
包名:
import os
from os import path, open
from os import *
os.path.exists 判断是否存在文件
print(os.path.exists('1.包引用.py'))
print(os.path.exists('text.txt'))
重命名
os.rename(‘旧文件名’,‘新文件名’)
os.rename('aaa.txt','bbb.txt')
删除文件
os.remove('bbb.txt')
创建文件夹 make directory
os.mkdir('aaa')
列出当前文件夹下的文件
相当于cmd中的dir命令、linux Is。
os.listdir()
切换当前文件夹 change
相当于cmd中的cd命令
os.chdir('aaa')
获取当前py所在的文件夹下 get work directory
print(os.getcwd())
(常用)拼接路径,获取脚本的绝对路径
print(os.path.join(os.getcwd(),'3.os.py'))
获取绝对路径 abs是absolute
print(os.path.abspath('./1.包引用.py'))
print(os.path.abspath(os.path.join(os.getcwd(),'3.os.py')))
判断路径是否存在
print(os.path.isdir('aaa'))
注:以上在linux系统上操作可能需要权限。
可以在cmd中尝试dir、cd命令
相对路径和绝对路径
绝对路径:从盘符或项目根目录写出每一层目录层级到文件。如:D:\PYCHARM\L8包\3.os.py 。
绝对路径:优点是准确,缺点写起来麻烦。
相对路径:一个(英文)点表示当前目录 两个(英文)点表示父目录
如:相对3.os.py而言(相对路径)
3.os.py → ./3.os.py
如:相对L8包/3.os.py而言(相对路径)
L8包/3.os.py → ../L8包/3.os.py
相对路径的优点:是写起来比较短,整个文件夹路径变化时里面的文件路径不用修改。缺点是容易写错、没有绝对路径准确。
表示目录层级斜杠:windows上\反斜杠,macOS linux用的是/正斜杠。
python解释器会把字符串中的反斜杠认为是转义字符,导致出错。解决方案:
- 反斜杠变成正斜杠
'D:/PycharmProjects/tutorial/L8包/3os.py'
- 使用转义字符输出反斜杠
'D:\\PycharmProjects\\tutorial\\L8包\\3os.py '
输出:'D:\PycharmProjects\tutorial\L8包\3os.py ’
使用不同路径读取文件:
1.相对路径
with open('chinese_utf8.txt', 'r') as file:
content = file.read()
print(content)
chinese_utf8.txt 文件名
r :模式,读取文件
2.绝对路径
with open('E:\\PYCHARM\\L8包\\chinese_utf8.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
E:\\PYCHARM\\L8包\\chinese_utf8.txt :文件名(绝对路径)