我正在尝试用Python执行命令:
os.system('ls')
有趣的是输出长度受到运行此python控制台的终端窗口大小的限制。
>>>os.system('ls -l')
total 0
-rw-r--r-- 1 hy hy 0 Apr 29 22:30 a.txt
-rw-r--r-- 1 hy hy 0 Apr 29 22:31 b.txt
-rw-r--r-- 1 hy hy 0 Apr 29 22:31 c.txt
-rw-r--r-- 1 hy hy 0 Apr 29 22:31 d.txt
-rw-r--r-- 1 hy hy 0 Apr 29 22:31 e.txt
-rw-r--r-- 1 hy hy 0 Apr 29 22:31 f.txt
-rw-r--r-- 1 hy hy 0 Apr 29 22:31 g.txt
>>>
我在一个包含数百个文件的目录中这样做,故意将终端窗口的大小重新调整得非常小,它只输出很少的行,这些行完全填满了整个窗口。如果我使用较小的终端窗口,它输出更少的线路。 每次只输出到我的终端窗口的低边界。
这不是python控制台在显示时隐藏了一些输出。我尝试使用subprocess.Popen()将输出存储到管道中并读取管道的readlines(),并得到相同的结果。
但似乎python不会一直这样做。我没有在所有机器上遇到这个问题。