os管理文件和open创建文件

os基础操作

获取当前工作目录

import os
#返回的是一个绝对路径
print(f"当前的工作目录为:{os.getcwd()}")

更改工作目录

import os
#注意切换目录后,以后的目录操作的根目录都是切换后的目录了
os.chdir('./data')
#返回的是一个绝对路径
print(f"当前的工作目录为:{os.getcwd()}")

列出目录内容

import os
#列出当前目录的下的文件内容,包括普通文件和目录
print(os.listdir('.'))

创建目录

import os

if not os.path.exists('./data'):#如果不存在data文件夹,
    os.mkdir('./data')#则创建data文件夹
    #创建多级目录
    os.makedirs('./data1/train')#创建data1/train文件夹

删除目录、文件

import os

if not os.path.exists('test1'):
    os.makedirs('test1/test1_1')
    
    with open('test1/test1_1/test1_1_1.txt', 'w') as f:
        f.write('test1_1_1')

if os.path.exists('test1'):
    # os.rmdir('test1')#删除单个空目录
    os.remove('test1/test1_1/test1_1_1.txt')#删除文件

    os.removedirs('test1/test1_1/')#删除多级空目录

文件重命名

import os

if not os.path.exists('test1'):
    os.makedirs('test1/test1_1')
    
    with open('test1/test1_1/test1_1_1.txt', 'w') as f:
        f.write('test1_1_1')

if os.path.exists('test1'):
    #重命名文件或者目录
    os.rename('test1', 'test2')

路径拼接与拆分

import os
#路径拼接
path=os.path.join('data', 'test.txt')
print(path)

#拆分路径与文件

print(os.path.split(r'data/train/test.txt'))
#拆分文件名和扩展名
print(os.path.splitext(r'data/train/test.txt'))

判断路径是否存在

import os


print(os.path.exists('test.py'))
print(os.path.isfile('test.py'))
print(os.path.isdir('test.py'))

递归遍历目录

import os

path = "./"  # 需要遍历的目录
for root, dirs, files in os.walk(path):#递归返回目录i,以及目录i下的所有目录名以及目录i下的所有文件名
    print("当前目录:", root)
    print("子目录:", dirs)
    print("文件:", files)
    print("-" * 40)

open创建文件

读取模式下

  • 逐行读取文本

  • 读取整个文本

  • 按行一次性读取文本

写入模式下

  • 写入文本

  • 多行写入

posted @ 2025-03-21 14:59  CodeCraftsMan  阅读(27)  评论(0)    收藏  举报