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. 第05组 Beta冲刺(3/4)

    第05组 Beta冲刺(3/4) 队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪 ...

  2. three.js 测试1

    关键看一下里面的注释 代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /& ...

  3. C语言实现FTP服务器

    公共部分代码 /* common.h */ #ifndef COMMON_H #define COMMON_H #include <arpa/inet.h> #include <ct ...

  4. 实例解读什么是Redis缓存穿透、缓存雪崩和缓存击穿

    from:https://baijiahao.baidu.com/s?id=1619572269435584821&wfr=spider&for=pc Redis缓存的使用,极大的提升 ...

  5. 2018的Java

    少用复制黏贴 程序员很多时候都习惯复制黏贴,这里复制一点,那里复制一点,拼拼凑凑的搞出了一段代码.这是一种常态,毕竟没有必要重复造轮子,在开发的时候,讲究的是效率,讲究速度,有时候也是不得不这样做.但 ...

  6. INSERT,UPDATE,DELETE时不写日志

    我们在维护数据库的过程中,可能会遇到海量数据的存储和维护,但在有的情况下,需要先试验,然后再对实际的数据进行操作,那么在试验这个过程中,我们是不需要写日志的,因为当你对海量数据操作时,产生的日志可能会 ...

  7. shell脚本监控阿里云专线网络状态,若不通通过触发阿里云的进程监控报警

    #!/bin/bash while [ 1 ] do rtt=`ping -c 3 15.0.160.18 |grep rtt |awk '{print $4}' |awk -F'/' '{print ...

  8. Tensorflow2 快速简单安装命令

    使用如下命令 pip3 install numpy pandas matplotlib sklearn tensorflow==2.0.0-alpha0 -i https://pypi.doubani ...

  9. Centos 6.8 公钥登录

    # lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch Distrib ...

  10. [转帖]PostgreSQL 参数调整(性能优化)

    PostgreSQL 参数调整(性能优化) https://www.cnblogs.com/VicLiu/p/11854730.html 知道一个 shared_pool 文章写的挺好的 还没仔细看 ...