gksudo和python scrip

2024-05-17 06:33:32 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我现在有一个小问题,但问题仍然存在。当我的python脚本通过gksudo运行时,它似乎执行得不正常。第一个if块中的系统命令在之前执行

print ("Removing Partial, Unneeded, And Obsolete Packages...");

那条线。在

以下是我剧本的其余部分:

^{pr2}$

请帮助A.S.A.p。, 布鲁克斯·雷迪。在


Tags: and脚本ifpackagespartialprintobsolete剧本
1条回答
网友
1楼 · 发布于 2024-05-17 06:33:32

虽然这只是一个猜测,但我希望您看到的是I/O buffering的结果。如果这是在python3.3或更高版本中,请尝试^{}。在Python2中,您需要调用^{}-但只有在stdout未被确定为终端时才会发生;例如,如果由cron运行,或者通过管道传输到另一个程序。要演示此问题,请运行脚本:

import time, sys

print "hello there"
#sys.stdout.flush()
time.sleep(2)
print "bye"

如果使用python script运行,它可以正常工作,但如果以python script | dd bs=1运行,则在两秒钟后,两条打印线都出现之前,不会显示任何内容。删除#,这样刷新就可以解决这个问题。在

这种I/O缓冲的原因是收集大量的小打印,减少了对外部I/O的调用次数。这很少有明显的区别,但最终会有影响,例如,对于磨损的内存或具有固定块大小的I/O设备。我用来显示差异的dd命令使用可配置参数进行缓冲,在本例中是1个字节。在

顺便说一句,脚本中的所有分号都是不必要的。在

相关问题 更多 >