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)

      

posted @ 2020-10-10 17:29  视觉Animal_Python  阅读(634)  评论(0)    收藏  举报