草庐IT

mono-stdout

全部标签

python - print() 与 sys.stdout.write() : which and why?

我有一个使用sys.stdout.write()和sys.stderr.write()创建输出的脚本。最近我发布了几个关于脚本其他方面的问题,我注意到发布答案的人似乎更喜欢print('sometext',file=sys.stdout)。我对输出的主要关注只是它可以通过shell管道传输到文件中或作为另一个程序的输入。有人可以解释(或指导我引用现有的解释)print()和sys.stdout.write之间的区别,每个应该使用的情况和这些约定合理吗? 最佳答案 "有人可以解释(或引导我到现有的解释)print()和sys.stdo

python - 删除 Python 中的最后一个 STDOUT 行

我试图弄清楚如何禁止在标准输出上显示用户输入。raw_input()后跟任何print语句都会保留用户输入的内容。getpass()不会显示用户输入的内容,但会保留“密码”:"提示。要解决这个问题,我只想删除最后一行(这也会从行尾删除换行符)。 最佳答案 您可以使用VT100controlcodes做您想做的事.可能是这样的:CURSOR_UP_ONE='\x1b[1A'ERASE_LINE='\x1b[2K'print(CURSOR_UP_ONE+ERASE_LINE) 关于pytho

python - 你能像往常一样制作一个python子进程输出stdout和stderr,但也可以将输出捕获为字符串吗?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Wrapsubprocess'stdout/stderr在thisquestion,hanan-n询问是否有可能有一个python子进程输出到标准输出,同时还将输出保存在字符串中以供以后处理。这种情况下的解决方案是遍历每个输出行并手动打印它们:output=[]p=subprocess.Popen(["the","command"],stdout=subprocess.PIPE)forlineiniter(p.stdout.readline,''):print(line)output.append(line)

python - 将子进程 stderr 重定向到 stdout

我想将子进程的标准错误输出重定向到标准输出。常数STDOUT应该这样做,不是吗?然而,$python>/dev/null-c'importsubprocess;\subprocess.call(["ls","/404"],stderr=subprocess.STDOUT)'确实输出了一些东西。为什么会这样,我如何在标准输出上得到错误信息? 最佳答案 在Python仔细阅读sourcecode给出了答案。特别是documentation当它说:subprocess.STDOUTSpecialvaluethat(...)indicate

python - 运行包含管道的命令行并将结果显示到 STDOUT

如何从Python调用包含管道的shell命令并捕获输出?假设命令类似于:catfile.log|tail-1Perl相当于我正在尝试做的事情是这样的:my$string=`catfile.log|tail-1`; 最佳答案 使用subprocess.PIPE,如子流程文档部分"Replacingshellpipeline"中所述:importsubprocessp1=subprocess.Popen(["cat","file.log"],stdout=subprocess.PIPE)p2=subprocess.Popen(["ta

Python 3 TypeError : must be str, not bytes with sys.stdout.write()

我正在寻找一种从python脚本运行外部进程并在执行期间打印其标准输出消息的方法。下面的代码有效,但在运行时不打印标准输出。当它退出时,我收到以下错误:sys.stdout.write(nextline)TypeError:mustbestr,notbytesp=subprocess.Popen(["demo.exe"],stdout=subprocess.PIPE,stderr=subprocess.PIPE)#PollprocessfornewoutputuntilfinishedwhileTrue:nextline=p.stdout.readline()ifnextline=='

python - 从程序内部的Python(如Python -U中)未封闭的Stdout

这个问题在这里已经有了答案:Disableoutputbuffering(16个答案)封闭7个月前。是否有任何方法可以从我的代码中获取python-u的效果?如果失败,我的程序是否可以在-U模式下检查它是否运行,并在错误消息中退出吗?这是在Linux上(Ubuntu8.10服务器)。 最佳答案 我能想到的最好的:>>>importos>>>importsys>>>unbuffered=os.fdopen(sys.stdout.fileno(),'w',0)>>>unbuffered.write('test')test>>>>>>sy

python - 如何很好地处理 `with open(...)` 和 `sys.stdout`?

通常我需要将数据输出到文件,或者,如果未指定文件,则输出到标准输出。我使用以下代码段:iftarget:withopen(target,'w')ash:h.write(content)else:sys.stdout.write(content)我想重写它并统一处理两个目标。理想情况下应该是:withopen(target,'w')ash:h.write(content)但这不会很好,因为离开withblock时sys.stdout已关闭,我不希望那样。我也不想stdout=open(target,'w')...因为我需要记住恢复原始标准输出。相关:Redirectstdouttoafi

python - 在python中将stdout重定向到 "nothing"

我有一个由足够多的模块组成的大型项目,每个模块都会向标准输出打印一些内容。现在随着项目规模的扩大,没有大的。print语句在标准输出上打印了很多,这使得程序相当慢。所以,我现在想在runtime决定是否将任何内容打印到标准输出。我无法对模块进行更改,因为它们有很多。(我知道我可以将标准输出重定向到一个文件,但即使这样也相当慢。)所以我的问题是如何将标准输出重定向到无,即如何使print语句什么都不做?#Iwanttodosomethinglikethis.sys.stdout=None#thisobviouslywillgiveanerrorasNonetypeobjectdoesno

spring - react 堆映射 Mono<Boolean> 到 Mono<Void>

我有返回Mono的函数我想把它映射到Mono(因为这是我在Controller方法中返回的东西)。有没有更好的方法来返回这样的Mono而不是.flatMap{Mono.empty()}?我无法使用.map{null}因为映射函数不能接受null秒。 最佳答案 是的,只需使用booleanMono.then().它仅将终端信号(onComplete或onError)作为Mono传播,放弃onNext事件。 关于spring-react堆映射Mono到Mono,我们在StackOverflo