os 模块

功能:与操作系统交互的模块

使用方式:import os

常用的几种功能

  • os.path.dirname(文件名) 用于获取当前文件的所在目录

    import os
    # 获取当前文件的所在目录
    file_path = os.path.dirname(__file__)
    print(file_path)
    # 获取当前文件的根目录
    BASE_PATH = os.path.dirname(file_path)
    print(BASE_PATH)

注意:项目的根目录,路径相关的值都用常量

  • os.path.join(路径,文件名) 文件路径的拼接,常用来做绝对路径的拼接

    import os
    # 获取当前文件所在的位置
    file_path = os.path.dirname(__file__)
    # 将a.txt的地址拼接成绝对路径
    new_path = os.path.join(file_path,"a.txt")
    print(new_path)
  • os.path.exists(文件/文件夹名) 判断文件或文件夹是否存在,存在返回True,不存在返回False

    import os
    # 获取当前文件所在的位置
    file_path = os.path.dirname(__file__)
    # 将a.txt的地址拼接成绝对路径
    new_path = os.path.join(file_path,"a.txt")
    # 判断这个文件是否存在
    res = os.path.exists(new_path)
    print(f"{new_path}是否存在:{res}")
  • os.path.isdir(文件夹名) 判断文件夹是否存在,存在返回True,不存在返回False

  • os.path.isfile(文件名) 判断文件是否存在,存在返回True,不存在返回False

建议:直接使用 os.path.exists()

  • os.mkdir() 创建一个新文件夹

    import os
    # 获取当前文件所在的位置
    file_path = os.path.dirname(__file__)
    # 拼接一个绝对路径
    a_file = os.path.join(file_path, "new_dic")
    # 新增new_dic 文件夹
    file = os.mkdir(a_file)
  • os.rmdir 删除文件夹,只能删除空文件夹

  • os.listdir(文件夹名/绝对路径) 获取某个文件夹中所有文件清单,返回列表list

    import os
    # 获取当前文件所在的位置
    file_path = os.path.dirname(__file__)
    # 获取该文件下所有文件的清单,返回列表
    file_list = os.listdir(file_path)
    print(file_list)

需求:显示文件夹里所有文件的清单,让用户选择需要打开的文件

import os

file_path = r"E:/Oldboy/python3/20191118"
# 获取文件中所有文件的清单,返回一个列表
file_list = os.listdir(file_path)
while True:
# 获取列表中的值,并赋予索引
for index,name in enumerate(file_list):
print(f"编号:{index}\t文件名称:{name}")
# 验证用户输入的文件编号的合法性
choice = input("请输入要打开的文件编号:")
if not choice.isdigit():
print("文件编号必须是数字")
continue
choice = int(choice)
if choice not in range(len(file_list)):
print("文件编号不在范围内")
continue
# 获取用户需要打开的文件
file_path = file_list[choice]
# 打开文件,读取内容并返回
with open(file_path,"r",encoding="utf-8") as f:
data = f.read()
print(data)

python基础-os模块的更多相关文章

  1. python基础:os模块中关于文件/目录常用的函数使用方法

    Python是跨平台的语言,也即是说同样的源代码在不同的操作系统不需要修改就可以同样实现 因此Python的作者就倒腾了OS模块这么一个玩意儿出来,有了OS模块,我们不需要关心什么操作系统下使用什么模 ...

  2. python基础--os模块和sys模块

    os模块提供对操作系统进行调用的接口 # -*- coding:utf-8 -*-__author__ = 'shisanjun' import os print(os.getcwd())#获取当前工 ...

  3. Python基础-os模块 sys模块

    sys模块 与操作系统交互的一个接口 文件夹相关 os.makedirs('dirname1/dirname2')    可生成多层递归目录 os.removedirs('dirname1')    ...

  4. python基础之模块之os模块

    os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小…… 另 ...

  5. Python之os模块和sys模块

    OS模块:print(os.getcwd())os.chdir('..') #返回上一层目录print(os.getcwd()) os.makedirs('xxxx') #生成多级递归目录os.mkd ...

  6. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...

  7. python基础——第三方模块

    python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的.  如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了.  如果你正在使用Window ...

  8. python基础——使用模块

    python基础——使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env ...

  9. python中os模块在windows下的使用

    今天学习了一下Python的os模块,主要是针对文件夹和文件路径的一系列操作. 与Python内置函数相比这里这里的函数功能更多样化,功能也更强大.但是学习过程中我发现很多函数都是只适用于unix系统 ...

随机推荐

  1. 引入jquery时,页面一直加载

    注意jquery的引用位置最好放在<head>下面.

  2. vue CSS使用/deep/

    比如你使用了别人的组件或者自己开发一个组件,有时候你修改一处就可能影响到别的地方,这个时候要么你不用别人的组件,自己重新封装一个,但很多时候是不太现实的,所以就需要有一个方法或者方式,既不影响到别的地 ...

  3. 创建java类中类出现is not an enclosing class

    public class A { public class B { } }; 需要实例B类时,按照正逻辑是,A.B ab = new A.B(); 那么编译器就会出现一个错误--"is no ...

  4. python: 添加自定义模块路径 —— 可以使用相对路径

    自定义模块时,添加模块路径: sys.path.append('..')

  5. PyCharmIDE: 给脚本传递参数

  6. 图文详解如何使用VMWare创建一套虚拟机“集群”

    开篇废话 在学习各种高大上的大数据产品也好,模拟部署我们的程序到PRD环境也好,总离不开需要一个机器集群.然而通常我们都没有那么多银子去购买多台云服务器,更没钱购买物理机.所以对于技术研究来说,最经济 ...

  7. 【Gamma】 Phylab 展示博客

    目录 [Gamma] Phylab 展示博客 发布地址 网站:PhyLab GitHub Release: WhatAHardChoice/Phylab Gamma版本 一.团队简介 二.项目目标 2 ...

  8. Yarn和Zookeeper的区别

    Yarn:分布式资源管理器 Zookeeper:分布式协作服务 Zookeeper是一个分布式协调服务(Coordination),一个leader,多个follower组成的集群,就是为用户的分布式 ...

  9. .NET 微服务 1. Docker 容器简介和选择

    容器特点 1. 容器可以将应用程序的依赖性和配置(抽象为 Mainfest 文件并部署)打包成一个容器镜像,可以让多次部署操作中的环境保持一致 2. 可以让IT人员很少或者不做修改就可以跨环境部署软件 ...

  10. .NET Core 获取自定义配置文件信息

    前言 .net core来势已不可阻挡.既然挡不了,那我们就顺应它.了解它并学习它.今天我们就来看看和之前.net版本的配置文件读取方式有何异同,这里不在赘述.NET Core 基础知识. ps:更新 ...