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

Posted cnhkzyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中常用的文件和目录操作相关的知识,希望对你有一定的参考价值。

OS模块

一. 概述

python 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]

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

 










以上是关于python中常用的文件和目录操作的主要内容,如果未能解决你的问题,请参考以下文章

python常用代码

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

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

[Python3]目录与文件操作

Python中常用的os操作

Python OS模块常用功能