python基础-os模块
时间:2019-11-18
本文章向大家介绍python基础-os模块,主要包括python基础-os模块使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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)
原文地址:https://www.cnblogs.com/xiaodan1040/p/11882432.html
- Android Material Design系列之Navigation Drawer
- [原创]Fluent NHibernate之旅(四)-- 关系(下)
- 一次通过漏洞挖掘成功渗透某网站的过程
- 使用fuzzDB进行web安全测试
- Android Material Design系列之FloatingActionButton和Snackbar
- Fluent Nhibernate之旅(五)--利用AutoMapping进行简单开发
- Android Material Design系列之Toolbar
- Struts2 S2-020在Tomcat 8下的命令执行分析
- Struts2再曝S2-020补丁绕过漏洞 – 万恶的正则表达式
- 学习BlogEngine.Net解读笔记系列(一)
- Android面试系列之应用内多语言切换
- Android面试系列之AsyncTask
- Kali-Linux扩充弹药:Kali Linux metapackages
- 使用HackRF解调TDD-LTE信号
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何卸载python插件
- Keras实现支持masking的Flatten层代码
- 用opencv给图片换背景色的示例代码
- 解决Keras 自定义层时遇到版本的问题
- Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
- Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
- python实现PDF中表格转化为Excel的方法
- php实现算术验证码功能
- 基于matplotlib中ion()和ioff()的使用详解
- Laravel5.7框架安装与使用学习笔记图文详解
- Python基于httpx模块实现发送请求
- Python Tkinter图形工具使用方法及实例解析
- PHP实现的简单留言板功能示例【基于thinkPHP框架】
- Python SMTP配置参数并发送邮件
- Python如何实现自带HTTP文件传输服务