Python基础之os模块简介

简介: Python基础之os模块简介

在日常工作中,经常需要用到操作系统,以及文件目录相关的内容,属于系统运维相关的必备知识点,本文主要简述Python中与os模块及os.path模块相关内容,仅供学习分享使用,如有不足之处,还请指正。

导入os模块

os模块是Python的内置标准库,提供了一种使用与操作系统相关的功能的便捷式途径。如果需要调用os模块,需要通过import的方式导入,如下所示:

import os
import os.path

os模块系统命令

在os模块中,与操作系统相关的常用方法,如下所示:

os模块获取环境变量,如下所示:

path1 = os.getenv('path') # 获取环境变量
path2 = path1.split(sep=';')
for p in path2:
    print(p)
os1 = os.getenv('OS')  #  获取 操作系统名
print(os1)
username = os.getenv('USERNAME')  #  获取 登录账号名
print(username)

os模块调用操作系统命令,示例如下所示:

os.system('notepad')  #  调用window相关命令
os.system('ping www.baidu.com')  # 调用ping命令
os.system('ipconfig')  # 调用ipconfig命令
os.system('cmd') #  打开命令行窗口

通过startfile方式启动文件,示例如下所示:

os.startfile(path=r"D:\Program Files (x86)\Notepad++\notepad++.exe") # 打开文件

操作系统名称,分隔符,换行符相关内容,示例如下所示:

name = os.name # 返回操作系统名称 windows-->nt  linux,uninx-->posix
print(name)
sep = os.sep  # 分隔符 \
print(sep)
linesep = os.linesep  #  换行符
print(repr(linesep))  # windows--> '\r\n'  linux-->\n

注意事项,如果在操作命令行输出时,出现乱码情况,如下所示:

则可以设置File-->Settings-->File Encodings-->Global Encoding 为GBK来解决,设置完毕后,重新执行,乱码问题解决,如下所示:

os模块文件操作

在os模块中,与文件相关的常用方法,如下所示:

获取文件的所有属性(包括文件大小,创建时间,修改时间,访问时间等),如下所示:

# os.stat_result(st_mode=33206, st_ino=844424930288389, st_dev=44815083, st_nlink=1, st_uid=0, st_gid=0, st_size=1931, st_atime=1625411990, st_mtime=1625411889, st_ctime=1625405477)
osstat = os.stat('login.py')  #  获取文件的所有信息,返回的对象类型
print(osstat)

os模块目录操作

在os模块中,与目录相关的常用方法,如下所示:

os模块下,与模块相关的常用方法,示例如下所示:

cwd = os.getcwd()  # 获取当前工作目录,不带最后的\
print(cwd)
os.mkdir(path='movie')  # 创建目录
os.makedirs(name='movie/gangtai')  # 创建多级目录
# 返回目录下所有的内容
files = os.listdir(path='D:\AiSmoking')
for file in files :
    print(file)

os.path模块文件及目录操作

os.path模块属于os的子模块,其中与文件及目录相关的常用方法,如下所示:

os.path模块下,与文件及目录相关的内容,如下所示:

flag = os.path.exists(path='D:\AiSmoking\logs')  # 判断路径是否存在
print(flag)
p = os.path.abspath('moive') # 获取当前相对路径的绝对路径
print(p)
flag = os.path.isabs('movie')  # 判断当前路径是否是绝对路径
print(flag)
flag = os.path.isdir('movie') # 判断当前路径是不是一个目录
print(flag)
flag = os.path.isfile('movie')  # 判断当前路径是不是一个文件
print(flag)
real_path = os.path.realpath('合同')  # 获取真实路径
print(real_path)

备注

次北固山下

【作者】王湾 【朝代】唐

客路青山外,行舟绿水前。

潮平两岸阔,风正一帆悬。

海日生残夜,江春入旧年。

乡书何处达?归雁洛阳边。

相关文章
|
2月前
|
人工智能 Python
python基本数据类型简介
本文简要介绍了Python的基本数据类型,包括整型、浮点型、字符串、列表、字典和布尔类型,帮助读者对Python数据类型有初步了解。
|
5月前
|
Python
Python教程:os 与 sys 模块详细用法
os 模块用于与操作系统交互,主要涉及夹操作、路径操作和其他操作。例如,`os.rename()` 重命名文件,`os.mkdir()` 创建文件夹,`os.path.abspath()` 获取文件绝对路径等。sys 模块则用于与 Python 解释器交互,常用功能如 `sys.path` 查看模块搜索路径,`sys.platform` 检测操作系统等。这些模块提供了丰富的工具,便于开发中处理系统和文件相关任务。
218 14
|
9月前
|
Python
Python Internet 模块
Python Internet 模块。
201 74
|
6月前
|
人工智能 自然语言处理 Shell
[oeasy]python070_如何导入模块_导入模块的作用_hello_dunder_双下划线
本文介绍了如何在Python中导入模块及其作用,重点讲解了`__hello__`模块的导入与使用。通过`import`命令可以将外部模块引入当前环境,增强代码功能。例如,导入`__hello__`模块后可输出“Hello world!”。此外,还演示了如何使用`help()`和`dir()`函数查询模块信息,并展示了导入多个模块的方法。最后,通过一个实例,介绍了如何利用`jieba`、`WordCloud`和`matplotlib`模块生成词云图。总结来说,模块是封装好的功能部件,能够简化编程任务并提高效率。未来将探讨如何创建自定义模块。
76 8
|
6月前
|
缓存 Shell 开发工具
[oeasy]python071_我可以自己做一个模块吗_自定义模块_引入模块_import_diy
本文介绍了 Python 中模块的导入与自定义模块的创建。首先,我们回忆了模块的概念,即封装好功能的部件,并通过导入 `__hello__` 模块实现了输出 "hello world!" 的功能。接着,尝试创建并编辑自己的模块 `my_file.py`,引入 `time` 模块以获取当前时间,并在其中添加自定义输出。
98 5
|
6月前
|
数据采集 运维 Java
课时13:Python简介
今天我们分享的是 Python 的简单介绍,主要分为以下四部分。 1. Python 的百科介绍 2. Python 的发明者 3. Python 的发展历史 4. Python 的用途
120 1
|
8月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
1402 23
|
7月前
|
Python API 监控
将Python CLI工具发布为pip模块的完整指南
注册PyPI账户 访问PyPI官网注册账户 推荐使用双因素认证增强安全性 生成API令牌 访问PyPI账户管理 生成具有"Upload packages"权限的令牌,妥善保存 确保模块名唯一性 在PyPI搜索页面验证模块名未被使用 建议使用小写字母和连字符的组合(如my-cli-tool)
135 9
|
8月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
94 3
|
10月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
301 62