python中os模块和sys模块的使用

1. os模块

os模块是与操作系统交互的一个接口,包含普遍的操作系统功能,如果你希望你的程序能够与平台有关的话,这个模块是尤为重要的。

# os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径  # pwd

# os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd  # cd 

# os.curdir  返回当前目录: ('.')

# os.pardir  获取当前目录的父目录字符串名:('..')

# os.makedirs('dirname1/dirname2')    可生成多层递归目录 # mkdir -p

# os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 rmdir -p

# os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname  # mkdir

# os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname # rmdir

# os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印  # ls -A

# os.remove()  删除一个文件 # rm -f

# os.rename("oldname","newname")  重命名文件/目录 rename mv

# os.stat('path/filename')  获取文件/目录信息

# os.sep    输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"

# os.linesep    输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"

# os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:

# os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

# os.system("bash command")  运行shell命令,直接显示 #一般用于脚本中去打印 # 这种方法实用性不如 os.popen subprocess.getoutput

# os.environ  获取系统环境变量

# os.path.abspath(path)  返回path规范化的绝对路径

# os.path.split(path)  将path分割成目录和文件名二元组返回   # 不去检测文件系统

# os.path.dirname(path)  返回path的上一层目录。其实就是os.path.split(path)的第一个元素

# os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素

# os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False # if [ -e ]

# os.path.isabs(path)  如果path是绝对路径,返回True

# os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False    # if [ -f ]

# os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False    # if [ -d ]

# os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,最后一个绝对路径之前的参数将被忽略

# os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间

# os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间

2. 练习os模块

import os
# 获取当前工作目录,即当前python脚本工作的目录路径
os.getcwd()

# 切换当前脚本工作目录;相当于shell下cd
os.chdir("./dirname")

# 创建单级目录,相当于 shell 中的 mkdir dirname
os.mkdir('dirname')

# 递归创建目录
os.makedirs('dir1/dir2')

# 删除单级空目录,若目录非空则无法删除,并报错。
os.rmdir('dirname') 

# 递归删除 空 目录
os.removedirs('dir1/dir2')  

# 列出指定目录下的所有文件和目录,包括隐藏文件,并以列表方式打印
os.listdir('dirname')

3. sys模块

提供了一系列有关Python运行环境的变量和函数

#sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,

#用于操控python运行时的环境。

!# sys.argv 接收命令行参数,生成一个List,第一个元素是程序本身路径

# sys.modules.keys() 返回所有已经导入的模块列表

# sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息

!# sys.exit(n) 退出程序,正常退出时exit(0)

# sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F0

# sys.version 获取Python解释程序的版本信息

# sys.maxsize 获取内存中最大的Int值 python2中是maxint

# sys.maxunicode 获取内存从中最大的Unicode值

# sys.modules 返回系统导入的模块字典,key是模块名,value是模块

!# sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

!# sys.platform 返回操作系统平台名称

# sys.stdout 标准输出

# sys.stdin 标准输入

# sys.stderr 错误输出

!# sys.exec_prefix 返回平台独立的python文件安装的位置

# sys.byteorder 本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'

# sys.copyright 记录python版权相关的东西

# sys.api_version 解释器的C的API版本

4. 练习sys

import sys
sys.argv         # 命令行参数列表,第一个元素是程序本身路径;用于接收执行
                 # Python 脚本时传的参数
# 示例:
python3 echo.py  
a b c

# echo.py 文件内容
import sys
print(sys.argv[1:])

# 输出结果
['a', 'b', 'c']

print('脚本名称:{}'.format(sys.argv[0]))
for i in sys.argv:
     if i == sys.argv[0]:
         continue
     print('参数为:',i)
                                                                    
print('总参数个数:{}'.format(len(sys.argv)-1)
      
[root@python python]# ./sysargv.py s1 s2 s3 s4 s5
脚本名称:./sysargv.py
参数为: s1
参数为: s2
参数为: s3
参数为: s4
参数为: s5
总参数个数:5

当您在Python编写脚本时,您可能需要与操作系统进行交互,例如读取文件、创建目录、获取系统环境变量等。为了完成这些任务,Python提供了两个非常有用的模块ossysos模块提供了许多与操作系统交互的函数,它允许您执行以下任务: - 访问文件系统的文件和目录。 - 与进程和进程组进行交互。 - 获取和设置环境变量。 - 执行命令和程序。 - 管理文件和目录权限。 - 等等。 下面是os模块一些常用的函数: - os.getcwd():获取当前工作目录。 - os.listdir(path):返回指定目录下的所有文件和目录名。 - os.mkdir(path):创建新目录。 - os.path.exists(path):检查指定的路径是否存在。 - os.rename(src, dst):将文件或目录从src重命名为dst。 - os.remove(path):删除指定的文件。 - os.path.join(path, *paths):连接两个或更多的路径名组件。 sys模块提供了与Python解释器和它的环境进行交互的函数。它允许您执行以下任务: - 获取命令行参数。 - 获取Python解释器的版本和路径。 - 退出程序并返回状态码。 - 处理标准输入和输出。 - 设置和获取Python解释器的参数等。 下面是sys模块一些常用的函数: - sys.argv:获取命令行参数。 - sys.exit([arg]):退出程序并返回状态码。 - sys.platform:返回当前操作系统平台名称。 - sys.version:返回Python解释器的版本号。 - sys.path:返回Python模块搜索路径。 总之,ossys模块提供了Python与操作系统和解释器进行交互的强大功能,使得Python可以轻松地处理文件系统、环境变量、进程等各种任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值