Python之路~os与sys模块的作用和常见用法
os模块与sys模块
一.os模块的作用:
os模块主要用于程序与操作系统之间的交互,常用一些文件处理操作。
二.os模块常用的一些函数:
import os # 导入os模块
a = os.name # 这里的name指的是操作系统的名字,并给出操作系统的名字,如:windows系统则返回‘nt’;linux返回‘posix’。注意这个命令不带括号。
print(a)
b = os.getcwd() # 获取当前工作目录,注意带括号。
print(b)
c = os.listdir() # 默认列出当前目录下所有的文件和目录名
print(c)
d = os.path # 列出python的环境变量
print(d)
os.remove('e:/python练习/测试remive.py') # 输入需要删除的文件路径与名称,参数不可省略
os.mkdir('e:/python练习/mkdir创建的文件夹') # 参数为想要创建文件夹的路径和名称,参数不可省略
os.rmdir('path') # 删除指定的目录,参数不可省略
os.makedirs('e:python练习/path/test1') # makdir只能创建一级目录,而makedirs可以创建多级目录
e = os.path.isfile("While循环语句.py") # 判断指定对象是否为文件,是返回ture,不是返回false.
print(e)
f = os.path.isdir('e:/python练习') # 判断指定对象是否是为目录,同上返回值相同
print(f)
g = os.path.exists('path') # 检查指定对象是否存在,返回布尔值
print(g)
o = os.path.split('e:/python练习/练习/os标准库.py') # 返回路径的目录和文件名,将其前面路径和文件名字分开显示为一个列表,就是寻找最后一个‘/’
print(o)
p = os.system("echo['hello world']") # 执行Shell命名,返回的是脚本的退出状态码,0表示成功,1表示不成功。shell的echo指令是表示格式化输出
print(p)
q = os.getcwd() # 获取当前工作路径
print(q)
x = os.path.getsize('流程控制逻辑判断if....else语句.py') # 获得文件的大小,如果为目录返回0
print(x)
w = os.path.abspath('While循环语句.py') # 获取绝对路径
print(w)
y = os.path.join('练习,os标准库.py') # 连接目录和文件名
print(y)
*实践才是最好的学习方法,亲自尝试去用一下这些方法吧,程序当做娱乐会更加有趣!
三.sys模块的作用:
sys模块主要用于程序与python解释器的交互,提供一些变量和函数,用于控制python运行时的环境。
四.sys模块的常用函数方法:

sys.argv 命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0),异常为exit(1)
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
sys.stdout.write('please:')
val = sys.stdin.readline()[:-1]
sys.argv获取参数
import sys
print "script name is", sys.argv[0] # 使用sys.argv[0]采集脚本名称
if len(sys.argv) > 1:
# 使用len(sys.argv)-1采集参数个数-1为减去[0]脚本名称
print "there are", len(sys.argv) - 1, "arguments:"
for arg in sys.argv[1:]: # 输出除了[0]外所有参数
print arg
else:
print "there are no arguments!"
sys.exit退出程序
#方法一:
import sys
print "hello"
try:
sys.exit(1)
except SystemExit: # 捕获退出的异常
pass # 捕获后不做任何操作
print "there"
#方法二:
# 如果准备在退出前自己清理一些东西(比如删除临时文件), 你可以配置一个 "退出处理函数"(exit handler), 它将在程序退出的时候自动被调用
def exitfunc():
print "world"
sys.exitfunc = exitfunc # 设置捕获时调用的函数
print "hello"
sys.exit(1) # 退出自动调用exitfunc()后,程序依然退出了
print "there" # 不会被 print
sys.stout重定向输出
import sys
print 'Dive in' # 标准输出
saveout = sys.stdout # 终在重定向前保存stdout,这样的话之后你还可以将其设回正常
fsock = open('out.log', 'w')
sys.stdout = fsock # 所有后续的输出都会被重定向到刚才打开的新文件上。
print 'This message will be logged instead of displayed' # 这样只会将输出结果“打印”到日志文件中;屏幕上不会看到输出
sys.stdout = saveout # 在我们将 stdout 搞乱之前,让我们把它设回原来的方式。
fsock.close() # 关闭日志文件。
sys.path添加系统环境变量
import sys,os
#将当前脚本所在目录的父目录加入系统变量
dir = os.path.dirname(os.path.dirname(__file__))
sys.path.append(dir)

浙公网安备 33010602011771号