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)

备注

次北固山下

【作者】王湾 【朝代】唐

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

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

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

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

相关文章
|
28天前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
45 4
|
8天前
|
Python
Python Internet 模块
Python Internet 模块。
102 74
|
26天前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
104 63
|
27天前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
27天前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
28天前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
38 5
|
27天前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
1月前
|
JavaScript 前端开发 Python
python中的OS模块的基本使用
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。博客分享前端技术及全栈开发经验,持续更新中,期待您的关注和支持!🎉🎉🎉
35 0
|
1月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
59 0
Vanilla OS:下一代安全 Linux 发行版
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
59 4