python中常用的文件和目录操作(二)

一. os模块概述

python os模块提供了非常丰富的方法用来处理文件和目录

二. 导入os模块:

import os

三. 常用方法

1. os.name 输出字符串表示正在使用的平台,如果是windows则用"nt"表示,如果是Linux/Unix,是"posix"

import os print(os.name) 结果: nt

2. os.getcwd()  得到当前的工作目录,即当前python脚本工作的目录路径

import os print(os.getcwd()) 结果: D:\python_workshop\python6\study

3. os.listdir(path)  以列表的形式返回指定目录下的所有文件和目录名

import os dirs = os.listdir(r"D:\python_workshop\python6") print(dirs) for file in dirs: print(file)

结果: [
'.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'url.txt'] .idea alice.txt homeworks lessons personal_practices study url.txt

4. os.mkdir(path, [mode])  创建一个目录,默认mode是0777

import os path = "./test" os.mkdir(path, 0o755) print("目录已创建")

结果: 目录已创建

5. os.makedirs(path)  创建一系列目录,递归的创建

import os path = "./test/android_app/auto_test" os.makedirs(path, 0o755) print("递归目录已创建")

结果: 递归目录已创建

6. os.remove()  删除一个文件

import os path = "../" print("移除前的目录文件为:", os.listdir(path)) os.remove("../math.txt") print("移除后的目录文件为: ", os.listdir(path))

结果: 移除前的目录文件为: [
'.idea', 'alice.txt', 'homeworks', 'lessons', 'math.txt', 'personal_practices', 'study', 'url.txt'] 移除后的目录文件为: ['.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'url.txt']

7. os.rmdir() 删除空目录,目录非空时删除会报错OSError

import os path = "../" print("删除前的目录文件为: ", os.listdir(path)) os.rmdir("../test") print("删除后的目录文件为: ", os.listdir(path)) 结果: 删除前的目录文件为: ['.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'test', 'url.txt'] 删除后的目录文件为: ['.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'url.txt']

注意:递归的删除目录可用shutil.rmtree(path),但必须先import shutil

8. os.environ.get("path")  获取环境变量值

import os print(os.environ.get("path")) 结果: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;D:\Program\python34;D:\Program\python34\Scripts;D:\Program\python34\Lib;D:\Program\python34\PyInstaller-3.3.1;D:\Program\python34\lib\site-packages\pywin32_system32

9. os.system(command)  运行系统命令

import os os.system('echo "hello world!"') 结果: "hello world!"

四. os模块path方法

1. os.path.join(path, name)  连接目录与文件名或目录

import os path = "D:\\python_workshop" name = "hello_world" #可以是不存在的目录或文件名 print(os.path.join(path, name)) 结果: D:\python_workshop\hello_world

2. os.path.isfile(path)和os.path.isdir(path)函数分别检验给出的路径是一个文件还是目录,存在返回True,否则为False

import os path = "./url.txt" print(os.path.isfile(path)) path = "../python6" print(os.path.isdir(path)) 结果: False False

3. os.path.exists(path)  用来检验给出的路径是否真的存在,存在返回True,否则为False

import os path = "../test" print(os.path.exists(path)) 结果: True

4. os.path.split(path)  返回一个路径的目录名和文件名(可以是目录可以是文件,如果最后一个是目录,则为目录名)

import os path = r"D:\python_workshop" print(os.path.split(path)) 结果: ('D:\\', 'python_workshop')

5. os.path.splitext(path)分离文件名与扩展名(路径不是真实存在的也行)

import os path = r"D:\python_workshop\python6\lesson1.py" print(os.path.splitext(path)) 结果: ('D:\\python_workshop\\python6\\lesson1', '.py')

6. os.path.dirname(path) 返回文件路径(注意不是文件的完整路径)

import os path = r"D:\python_workshop\python6" print(os.path.dirname(path)) 结果: D:\python_workshop

7. os.path.basename(path) 返回最后的文件名

import os path = r"D:\python_workshop\python6" print(os.path.basename(path)) 结果: python6

8. os.path.getsize(name) 获得文件大小,如果name是目录返回OL

import os name = r"D:\python_workshop\1.txt" print(os.path.getsize(name)) name = r"D:\python_workshop" print(os.path.getsize(name)) 结果: 197 4096

 


__EOF__

本文作者cnhkzyy
本文链接https://www.cnblogs.com/my_captain/p/8976076.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   cnhkzyy  阅读(334)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示