python模块—os

简介:

 OS模块也是我们平时工作中很常用到的一个模块,通过os模块调用系统命令,获得路劲,获取操作系统的类型等都是使用该模块。


1.获取系统类型

例子:

>>> import os

>>> print(os.name)

posix


2.执行系统命令

例子1:

>>> import os

>>> os.system("ifconfig")

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

inet 192.168.2.230  netmask 255.255.254.0  broadcast 192.168.3.255

inet6 fe80::b8ce:3bee:4221:ea32  prefixlen 64  scopeid 0x20<link>

ether 00:0c:29:13:a3:a6  txqueuelen 1000  (Ethernet)

RX packets 6804684  bytes 830957408 (792.4 MiB)

RX errors 0  dropped 222021  overruns 0  frame 0

TX packets 111583  bytes 16210846 (15.4 MiB)

TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


例子2:

popen() 返回一个file对象,通过 file.read()获取最终结果


>>> content = os.popen("ifconfig").read()

>>> print(content)

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

inet 192.168.2.230  netmask 255.255.254.0  broadcast 192.168.3.255

inet6 fe80::b8ce:3bee:4221:ea32  prefixlen 64  scopeid 0x20<link>

ether 00:0c:29:13:a3:a6  txqueuelen 1000  (Ethernet)

RX packets 6813500  bytes 832023527 (793.4 MiB)

RX errors 0  dropped 222508  overruns 0  frame 0

TX packets 111846  bytes 16233128 (15.4 MiB)

TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


3.文件和目录操作

3.1 当前路径:os.getcwd()

例子:

>>> print(os.getcwd())

/root


3.2 切换目录:os.chdir(‘目标目录’)

例子:

>>> os.chdir("/data/temp")      # 或者 os.chdir(r"/root")

>>> os.getcwd()

'/data/temp'


3.3 列出文件:os.listdir(‘字符串目录’)

例子:

>>> os.listdir(os.getcwd())

['.bash_logout', '.bash_profile', '.cshrc', '.tcshrc', 'anaconda-ks.cfg', '.bash_history', '.bashrc', '4.sh', '10.sh', '.jenkins', '.groovy', '.python-eggs', '.mongorc.js', '.dbshell', '.gitconfig', '.java', '.viminfo', 'test.sh', '.mysql_history', '.pki', 'tip.sh', '.oracle_jre_usage', '.rnd', '.bashrc_2017-08-21', '2.sh', '.cache', '.config', '6.txt', 'centos_hzp.tar', 'container.tar', '.ssh', '.bashrc_2017-08-18', '1.sh', '5.sh', '.npm']


>>> os.listdir("/data/temp")

['health_8102.log', 'health_1-3.log', 'projects1.txt', 'create_branch_status', 'test', 'create_branch.sh', 'api.txt.bak', 'projects.txt.bak', 'modify_configure', 'test2']


3.4 创建目录:os.mkdir('目录')

例子

>>> os.mkdir("test20171023")

>>> os.listdir(os.getcwd())

['health_8102.log', 'health_1-3.log', 'projects1.txt', 'create_branch_status', 'test', 'create_branch.sh', 'api.txt.bak', 'projects.txt.bak', 'modify_configure', 'test2', 'test20171023']


3.5 删除目录下文件os.remove('文件名')

例子

>>> os.remove("1.txt")


说明:不存在则报错


3.6 打印系统分隔符:os.linesep

例子

print(os.linesep)

说明:linux为\n ;windows为\r\n ;mac为\r


3.7 显示文件目录:os.path.dirname(r'/data/temp/1.txt') 

例子

>>> print(os.path.dirname(r'/data/temp/1.txt'))

/data/temp


3.8 拼接多级目录:os.path.join(os.getcwd(), 'aaa', ‘bbb’, ‘ccc’)

例子

>>> print(os.path.join(os.getcwd(), 'abc.txt'))

/data/temp/abc.txt


说明:并不创建


3.9 文件和路径分开:os.path.split(path1)

例子

>>> path1 = os.path.join(os.getcwd(), 'abc.txt')

>>> print(os.path.split(path1))

('/data/temp', 'abc.txt')


4.0 路径和扩展名分开:os.path.splitext(‘文件’)

例子

>>> path1 = os.path.join(os.getcwd(), 'abc.txt')

>>> print(os.path.splitext(path1))

('/data/temp/abc', '.txt')


4.1 文件不存在则创建:os.path.exists(‘目录’)

例子

#! /usr/bin/python

import os

if not os.path.exists(r'/data/temp/test20171024'):

os.mkdir(r'/data/temp/test20171024')


4.2 是否链接:os.path.islink(path)

例子

>>> print(os.path.islink(os.getcwd()))

False


说明:如果系统不支持链接,则返回False


更多方法:

print(dir(os))

       ..............










本文转自 huangzp168 51CTO博客,原文链接:http://blog.51cto.com/huangzp/1980340,如需转载请自行联系原作者
目录
相关文章
|
23天前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
41 4
|
3天前
|
Python
Python Internet 模块
Python Internet 模块。
99 74
|
21天前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
103 63
|
22天前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
22天前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
28天前
|
JSON Linux 数据格式
Python模块:从入门到精通,只需一篇文章!
Python中的模块是将相关代码组织在一起的单元,便于重用和维护。模块可以是Python文件或C/C++扩展,Python标准库中包含大量模块,如os、sys、time等,用于执行各种任务。定义模块只需创建.py文件并编写代码,导入模块使用import语句。此外,Python还支持自定义模块和包,以及虚拟环境来管理项目依赖。
Python模块:从入门到精通,只需一篇文章!
|
23天前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
36 5
|
22天前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
1月前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
43 5
|
1月前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块