python基础之模块之sys模块

sys模块的功能

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

sys功能:

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

# test_py.py文件
#/usr/bin/python3
import sys

print(‘the script name is:‘,sys.argv[0])
if len(sys.argv) > 1:
    print("there are", len(sys.argv)-1, "arguments:")  # 使用len(sys.argv)-1采集参数个数-1为减去[0]脚本名称
    for arg in sys.argv[1:]:            #输出除了[0]外所有参数
        print(arg)
else:
    print("there are no arguments!")

[[email protected] ~]# python3 test_py.py haha
the script name is: test_py.py
there are 1 arguments:
haha

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

>>> sys.path
[‘‘, ‘/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‘]

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

import os,sys
print(sys.path)
new_path=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(new_path)
sys.path.insert(0,new_path)
print(sys.path)

#结果:
[‘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‘]
C:\Users\Capital-D\PycharmProjects\untitled\test\atm
[‘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‘]

3  sys.platform   #返回当前平台

import sys,os
print(sys.platform)
#结果:
win32

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

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()     # 关闭日志文件。

5  sys.stderr   #错误输出

使用方法同上

时间: 2024-12-10 01:21:36

python基础之模块之sys模块的相关文章

Python基础第十三天——sys模块、logging模块、json模块、pickle模块

一.sys模块 1.定义: 与python解释器交互的一个模块 2.sys模块常用的方法 (1)sys.argv方法 定义:命令行参数list,第一个元素是程序本身路径 例: import sys print(sys.argv) # sys.argv只是反映当前模块名,用一个列表存着 # 而pycharm软件则给我们自动加上了绝对路径 输出结果:          # 这个结果并不正确,是因为这是pycharm给加上去的 ['C:/Users/William/PycharmProjects/Py

python基础学习os模块和sys模块

os模块和sys模块import osos.getcwd() #获取当前工作目录os.chdir() #切换目录os.makedirs() #递归创建一个目录os.removedirs() #递归删除一个目录(若目录为空则删除并递归到上一层目录,如果为空再删除,在递归到上一层目录)os.mkdir() #不递归创建目录os.rmdir() #不递归删除目录os.listdir() #查看指定目录下的所有文件和目录os.remove() #删除一个文件os.rename(oldname,newna

Python基础-第五天-常用模块

本篇内容: 1.sys模块 2.os模块 3.time模块和datetime模块 4.random模块和string模块 5.shutil模块 6.json模块和pickle模块 7.shelve模块 8.hashlib模块和hmac模块 9.logging模块 10.re模块 一.sys模块 1.sys模块简介 sys模块是Python标准库中自带了一个模块,sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境 2.sys模块的使用 ①pyt

Python常用模块——系统调用sys模块

Python常用模块--系统调用sys模块 sys 模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 sys.stdout.write('please:') #标准输出 , 引出进度条的例子

Python基础(12)_python模块之sys模块、logging模块、序列化json模块、pickle模块、shelve模块

5.sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 5.1 使用sys.argv进行登录判断,跳过 i/o阻塞 #使用sys.argv进行登录判断,跳过 i/o阻塞 import s

Python学习笔记——基础篇【第五周】——os模块和sys模块

OS模块 提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级

Python 基础 - 模块 Module - sys模块

sys模块常见函 sys.argv: 实现从程序外部向程序传递参数. sys.exit([arg]): 程序中间的退出,arg=0为正常退出. sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii. sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8.

Python基础笔记系列十:模块

本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Python代码段.#2.把相关的代码分配到一个模块里能让你的代码个更好用,更易懂.#3.模块也是Python对象,具有随机的名字属性用来绑定或引用.#4.简单来说,模块就是一个保存了Python代码的文件.模块能自定义函数,类和变量.模块里也能包含可执行的代码. 模块引入python提供了很多第三方的

Python学习总结12:sys模块

sys模块常用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互. 1. 导入及函数查看 >>> import sys #导入sys模块 >>> dir(sys) #dir()方法查看模块中可用的方法 注意:如果是在编辑器,一定要注意要事先声明代码的编码方式,否则中文会乱码. 2. 重要函数变量 sys.argv 命令行参数List,第一个元素是程序本身路径     sys.modules.keys() 返回所有已经导入的模块列表     sys