1. 首页
  2. 编程语言
  3. Python
  4. python-sys.stdout作为默认函数参数的实现

python-sys.stdout作为默认函数参数的实现

上传者: 2022-02-16 19:15:23上传 PDF文件 68.23 KB 热度 9次

鉴于Python在定义时评估了函数的默认参数,将sys.stdout设置为默认参数是安全的,还是会产生意想不到的副作用?我想到的一个问题是,您有时有时想自己将sys.stdout重定向到文件.例如,您的主程序可能如下所示:如果您希望程序在提及一个文件时将其记录到一个文件中,这可能会很有用.现在,由于您设置了sys.stdout,因此您的writeline方法将不会注意到该修改.通常,最好将不可变对象设置为默认参数.只有在极少数情况下,Python中才会使用不可变的变量.但是,如果您确定不会将sys.stdout重定向到文件,管道等,则是安全的.我想将输出写入文件,因此我做了。在程序开始时包含stdin,stderr和stdout的原始值。它们在完成过程中使用,并且无论是否已重定向sys.std *对象,将其打印到实际的标准流都很有用。

下载地址
用户评论