• python基础之模块之sys模块


    sys模块的功能

    sys是python中较为常用的一个模块,他提供了对python脚本运行时的环境的操作。

    sys功能:

    1  sys.argv     #将python脚本运行时的脚本名以及参数作为一个list,并输出。

     1 # test_py.py文件
     2 #/usr/bin/python3
     3 import sys
     4 
     5 print('the script name is:',sys.argv[0])
     6 if len(sys.argv) > 1:
     7     print("there are", len(sys.argv)-1, "arguments:")  # 使用len(sys.argv)-1采集参数个数-1为减去[0]脚本名称
     8     for arg in sys.argv[1:]:            #输出除了[0]外所有参数
     9         print(arg)
    10 else:
    11     print("there are no arguments!")
    12 
    13 
    14 
    15 [root@slyoyo ~]# python3 test_py.py haha
    16 the script name is: test_py.py
    17 there are 1 arguments:
    18 haha
    View Code

     2  sys.path    #返回一个list,该list为当前脚本的path环境变量(PYTHONPATH)

    1 >>> sys.path
    2 ['', '/usr/local/python/lib/python34.zip', '/usr/local/python/lib/python3.4', '/usr/local/python/lib/python3.4/plat-linux', '/usr/local/python/lib/python3.4/lib-dynload', '/usr/local/python/lib/python3.4/site-packages']
    View Code

       如果我们要增加或者删除pythonpath的话,使用list的insert或者pop功能即可。

     1 import os,sys
     2 print(sys.path)
     3 new_path=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
     4 print(new_path)
     5 sys.path.insert(0,new_path)
     6 print(sys.path)
     7 
     8 #结果:
     9 ['C:\Users\Capital-D\PycharmProjects\untitled\test\atm\fun', 'C:\Users\Capital-D\PycharmProjects\untitled', 'C:\windows\SYSTEM32\python34.zip', 'C:\Python34\DLLs', 'C:\Python34\lib', 'C:\Python34', 'C:\Python34\lib\site-packages']
    10 C:UsersCapital-DPycharmProjectsuntitled	estatm
    11 ['C:\Users\Capital-D\PycharmProjects\untitled\test\atm', 'C:\Users\Capital-D\PycharmProjects\untitled\test\atm\fun', 'C:\Users\Capital-D\PycharmProjects\untitled', 'C:\windows\SYSTEM32\python34.zip', 'C:\Python34\DLLs', 'C:\Python34\lib', 'C:\Python34', 'C:\Python34\lib\site-packages']
    View Code

    3  sys.platform   #返回当前平台

    1 import sys,os
    2 print(sys.platform)
    3 #结果:
    4 win32
    View Code

    4  sys.stdout   sys.stdin   #标准输出/输入

     1 print 'Dive in'        # 标准输出
     2 saveout = sys.stdout        # 终在重定向前保存stdout,这样的话之后你还可以将其设回正常
     3 fsock = open('out.log', 'w')      # 打开一个新文件用于写入。如果文件不存在,将会被创建。如果文件存在,将被覆盖。
     4 sys.stdout = fsock                 # 所有后续的输出都会被重定向到刚才打开的新文件上。
     5 
     6 print  'This message will be logged instead of displayed'    # 这样只会将输出结果“打印”到日志文件中;屏幕上不会看到输出
     7 
     8 sys.stdout = saveout   # 在我们将 stdout 搞乱之前,让我们把它设回原来的方式。    
     9 
    10 fsock.close()     # 关闭日志文件。
    View Code

     5  sys.stderr   #错误输出

    使用方法同上

  • 相关阅读:
    如何把阿里图标库的图标生成代码并应用于自己的项目
    【记事件】
    极光推送,为什么IOS有的手机一直收不到推送。
    浮点型的数据对比。
    MySQL通过show processlist查看项目的mysql写的有问题
    thinkPHP5实现简单的多图上传
    mac终端运行/终止jar包
    referer参数和addslashes()函数的骚路子
    小技巧|addslashes绕过
    团队博客七
  • 原文地址:https://www.cnblogs.com/lhy-522/p/13020057.html
Copyright © 2020-2023  润新知