python中的sys模块_Python中sys模块

Python的sys模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数。通俗来讲,sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python运行时的环境。

(1)sys.argv 获取当前正在执行的命令行参数的参数列表(list)

argv[0]表示代码本身的文件路径,最多只能传入两个命令行参数

1764014-20190822093709834-125215079.png

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

1 >>> importos,sys2 >>>sys.modules.keys()3 dict_keys(['sys', 'builtins', '_frozen_importlib', '_imp', '_thread', '_warnings', '_weakref', 'zipimport',

'_frozen_importlib_external', '_io', 'marshal', 'nt', 'winreg', 'encodings', 'codecs', '_codecs', 'encodings.aliases',

'encodings.utf_8', '_signal', '__main__', 'encodings.latin_1', 'io', 'abc', '_abc', 'site', 'os', 'stat', '_stat',

'ntpath', 'genericpath', 'os.path', '_collections_abc', '_sitebuiltins', 'atexit'])

(3)sys.platform 获取当前执行环境的平台

(4)sys.path path是一个目录列表,供Python从中查找第三方扩展模块。

(5) sys.exit(n) 调用sys.exit(n)可以中途退出程序,sys.exit(0)表示正常退出,n不为0时,会引发SystemExit异常,从而在主程序中可以捕获该异常。

1 importsys2 print("running ...")3 try:4 sys.exit(1)5 exceptSystemExit:6 print("SystemExit exit 1")7 print("exited")

输出结果:

1 E:\s14+\venv\Scripts\python.exe E:/s14/模块分类/SYS_M/test2.py2 running ...3 SystemExit exit 1

4 exited5

6 Process finished with exit code 0

(6)sys.version 获取python解释程序的版本信息

(7) sys.stdin, sys.stdout, sys.stderr 标准输入,标准输出,错误输出

标准输入:一般为键盘输入,stdin对象为解释器提供输入字符流,一般使用raw_input()和input()函数

1 importsys2 print("Please input you name:")3 name =sys.stdin.readline()4 print(name)5 》》》》6 Please input you name:7 Xiao Ming #用户输入,然后Enter

8 Xiao Ming9

10

11 Process finished with exit code 0

标准输出:一般为屏幕。stdout对象接收到print语句产生的输出

1 importsys2

3 sys.stdout.write("123456\n")4 sys.stdout.flush()5 执行结果6 123456

7

8 Process finished with exit code 0

错误输出:一般是错误信息,stderr对象接收出错的信息。

sys.stdout与print

当我们在 Python 中打印对象调用 print obj 时候,事实上是调用了 sys.stdout.write(obj+'\n') ;print 将你需要的内容打印到了控制台,然后追加了一个换行符;print 会调用 sys.stdout 的 write 方法

以下两行在事实上等价:

1 sys.stdout.write('hello'+'\n')2

3 print 'hello'

sys.stdin与raw_input

当我们用 raw_input('Input promption: ') 时,事实上是先把提示信息输出,然后捕获输入

以下两组在事实上等价:

1 hi=raw_input('hello?')2

3 print 'hello?', #comma to stay in the same line

4 hi=sys.stdin.readline()[:-1] #-1 to discard the '\n' in input stream

从控制台重定向到文件:

原始的sys.stdout指向控制台。如果把文件的对象引用赋给sys.stdout,那么print调用的就是文件对象的write方法

1 importsys2

3 f_handler = open('out.log','w')4 sys.stdout =f_handler5 print("hello")6 #this hello can't be viewed on console

7 #this hello is in file out.log

如果想要在控制台打印一些东西的话,最好先将原始的控制台对象引用保存下来,向文件中打印后再恢复sys.stdout:

1 __console__=sys.stdout2

3 #redirection start #

4

5...6

7 #redirection end

8

9 sys.stdout=__console__

q

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值