一. 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

python中常用的文件和目录操作(二)的更多相关文章

  1. python中常用的文件和目录操作(一)

    常用的文件操作 1. 打开文件 open,它是一个内置函数,可以直接调用 语法:file object = open(file_name, [access_mode]),这里我们会创建一个file对象 ...

  2. 第9.11节 Python中IO模块文件打开读写操作实例

    为了对前面学习的内容进行一个系统化的应用,老猿写了一个程序来进行文件相关操作功能的测试. 一. 测试程序说明 该程序允许测试人员选择一个文件,自己输入文件打开模式.写入文件的位置以及写入内容,程序按照 ...

  3. Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

  4. Python::OS 模块 -- 文件和目录操作

    os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...

  5. Python之文件与目录操作及压缩模块(os、shutil、zipfile、tarfile)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

  6. 【转】python 历险记(四)— python 中常用的 json 操作

    [转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...

  7. 【转】Python之文件与目录操作(os、zipfile、tarfile、shutil)

    [转]Python之文件与目录操作(os.zipfile.tarfile.shutil) Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读 ...

  8. Python之文件与目录操作(os、zipfile、tarfile、shutil)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

  9. python文件及目录操作

    python文件及目录操作 读/写文件 新建/打开文件 写入 #举个例子,打开D:\test\data.txt #以写入模式打开文件 #如果test(上级目录)不存在则报错 #如果data.txt(文 ...

随机推荐

  1. Python3.6全栈开发实例[022]

    22.完成彩票36选7的功能. 从36个数中随机的产生7个数. 最终获取到7个不重复的数据作为最终的开奖结果.随机数: from random import randintrandint(0, 20) ...

  2. Linux中的输出重定向

    标准输入输出: 键盘        /dev/stdin        0       标准输入 显示器    /dev/stdout      1       标准输出 显示器    /dev/st ...

  3. 017-Hadoop Hive sql语法详解7-去重排序、数据倾斜

    一.数据去重排序 1.1.去重 distinct与group by 尽量避免使用distinct进行排重,特别是大表操作,用group by代替 -- 不建议 select DISTINCT key ...

  4. Map中object转换成boolean类型

    Ajax请求查询数据之后,返回的是map类型, resultMap.put("flag", flag); 在接收到数据之后判断时,转换出现异常,导致页面点击按钮之后,页面没有反应, ...

  5. [转]c#中从string数组转换到int数组

    string[] input = { "1", "2", "3", "4", "5", " ...

  6. 42和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 设置 ...

  7. PAT 天梯赛 L1-037. A除以B 【水】

    题目链接 https://www.patest.cn/contests/gplt/L1-037 AC代码 #include <iostream> #include <cstdio&g ...

  8. Loadrunder之脚本篇——参数化方法

    导语 参数化旨在模拟多数据来进行测试,所以再选择参数化你明确你参数化的内容! 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Pa ...

  9. SQL Server 存储过程 分页查询

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  10. Hibernate深入浅出(九)持久层操作——数据保存&批量操作

      数据保存: 1)session.save session.save方法用于实体对象到数据库的持久化操作.也就是说,session.save方法调用与实体对象所匹配的Insert SQL,将数据插入 ...