MSK 发表于 2017-7-14 13:46:53

超详细的sys 【1】

本帖最后由 MSK 于 2017-7-14 13:46 编辑

sys.path


功能:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到


这是我的sys.path:

>>> sys.path
['', 'F:\\python\\python36\\Lib\\idlelib', 'F:\\python\\python36\\python36.zip', 'F:\\python\\python36\\DLLs', 'F:\\python\\python36\\lib', 'F:\\python\\python36', 'F:\\python\\python36\\lib\\site-packages', 'F:\\python\\python36\\lib\\site-packages\\setuptools-33.1.1-py3.6.egg', 'F:\\python\\python36\\lib\\site-packages\\pip-9.0.1-py3.6.egg']




sys.stdout 和 sys.stderr


功能:处理标准输出/输入

代码源于网络
>>> for i in range(3):
...   print'Dive in'
Dive in
Dive in
Dive in
>>> import sys
>>> for i in range(3):
...   sys.stdout.write('Dive in')
Dive inDive inDive in
>>> for i in range(3):
...   sys.stderr.write('Dive in')
Dive inDive inDive in


标准输入(stdout)和标准错误(stderr)是内建在每一个 UNIX 系统中的管道

当print 某些东西时,结果前往 stdout 管道;

当程序崩溃并打印出调试信息 (例如 Python 中的 traceback (错误跟踪)) 的时候,信息前往 stderr 管道

stdout 和 stderr 都是类文件对象,调用它的 write 函数可以打印出你给定的任何字符串.


注意!它们都是只写的!



**** Hidden Message *****


使用sys重定向输出

代码 源于网络,稍加过修改~

print 'Dive in'      # 标准输出
saveout = sys.stdout      # 备份一个stdout,这样的话之后你还可以将其设回正常
fsock = open('out.log', 'w')      # 打开一个新文件用于写入。如果文件不存在,将会被创建。如果文件存在,将被覆盖。
sys.stdout = fsock               # 所有后续的输出都会被重定向到刚才打开的新文件上。
print('这句话被我写进out.log')    # 这样只会将输出结果“打印”到日志文件中;屏幕上不会看到输出
sys.stdout = saveout   # 在我们将 stdout 搞乱之前,让我们把它设回原来的方式。   
fsock.close()   # 关闭日志文件。

打开当前目录下的out.log,你可以看到这句话被写进了文件



**** Hidden Message *****




重定向错误信息
fsock = open('error.log', 'w')         # 打开你要存储调试信息的日志文件。
sys.stderr = fsock                           # 将新打开的日志文件的文件对象赋值给stderr以重定向标准错误。
raise Exception, 'this error will be logged'   # 引发一个异常,没有在屏幕上打印出任何东西,所有正常的跟踪信息已经写进error.log

还要注意你既没有显示关闭日志文件,也没有将 stderr 设回最初的值。




所有正常的跟踪信息已经写进error.log
所有正常的跟踪信息已经写进error.log
所有正常的跟踪信息已经写进error.log


这样挺好,因为一旦程序崩溃 (由于引发的异常),Python 将替我们清理并关闭文件



回复有彩蛋~彩蛋~彩蛋~{:10_297:}


**** Hidden Message *****



MSK 发表于 2017-7-14 13:53:16

有什么不对的地方还请指正~{:10_297:}@~风介~ @不二如是 @小甲鱼

tmkuej 发表于 2017-7-14 14:26:38

hehe

不二如是 发表于 2017-7-14 17:48:03

虽然木有用过,但是这个粉粉的感觉,一看就喜欢~

MSK 发表于 2017-7-14 18:31:24

不二如是 发表于 2017-7-14 17:48
虽然木有用过,但是这个粉粉的感觉,一看就喜欢~

哈哈,你的html5好多代码写出的都是粉色~

tuxiaoqing 发表于 2017-9-27 12:10:39

感谢楼主

status 发表于 2017-10-8 17:46:42

顶一个看看

ruanwei_123 发表于 2017-10-8 20:17:01

谢谢分享{:10_266:}

低调学习 发表于 2018-4-5 21:31:43

谢谢分享      

sd4286579 发表于 2018-4-9 11:49:16

666

cngrand1 发表于 2018-4-9 18:52:33

谢谢

淡茶烟稥 发表于 2018-6-19 15:26:57

1

rsj0315 发表于 2021-5-8 10:43:28

看看
页: [1]
查看完整版本: 超详细的sys 【1】