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. three.js 添加环境光

    var ambient = new THREE.AmbientLight(0xffffff);//环境光 scene.add(ambient);

  2. ES6新增的数组方法

    ES6新增:(IE9级以上支持) 1.forEach():遍历数组,无返回值,不改变原数组. 2.map():遍历数组,返回一个新数组,不改变原数组. 3.filter():过滤掉数组中不满足条件的值 ...

  3. 【线段树】【P4062】 [Code+#1]Yazid 的新生舞会

    Description 给定一个长度为 \(n\) 的序列,求有多少子区间满足区间众数严格大于区间长度的一半.如果区间有多个出现次数最多且不同的数则取较小的数为众数. Limitation 对于全部的 ...

  4. css 水平垂直居中两种常用方式

  5. nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件

    前言一.nginx简介1. 什么是 nginx 和可以做什么事情Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50 ...

  6. QThread 采用moveToThread方式实现多线程。 线程本身、connect关联的槽函数、connect关联的lambda对象分别运行在哪个线程中。

    Qt如何实现多线程:https://www.cnblogs.com/azbane/p/11372531.html September 5,2019 先抛出几个问题,用问题来引导思维导向: 1.继承的Q ...

  7. concurrent(五)同步辅助器CountDownLatch & 源码分析

    参考文档: https://blog.csdn.net/zxdfc/article/details/52752803 简介 CountDownLatch是一个同步辅助类.允许一个或多个线程等待其他线程 ...

  8. win10系统:VMware无法在Windows运行该怎么办?

     出现的问题: 解决方法: 点击“检查更新”或去官网下载最新版本 Vmware15.5.0(经过测试发现,Windows 10上面可以运行Vmware15.5.0 ) VMware Workstati ...

  9. Python【每日一问】25

    问: [基础题]:利用条件运算符的嵌套来完成此题:学习成绩 >=90 分的同学用 A 表示,60-89 分之间的用 B 表示,60 分以下的用 C 表示. [提高题]:求 s=a + aa + ...

  10. 020 文件(图片)上传功能---涉及switchhost和Nginx的使用

    文件的上传并不只是在品牌管理中有需求,以后的其它服务也可能需要,因此我们创建一个独立的微服务,专门处理各种上传. 1.搭建模块 (1)创建模块 (2)依赖 我们需要EurekaClient和web依赖 ...