【发布时间】:2014-11-25 01:20:36
【问题描述】:
我不是 Bash 和 Python 方面的专家,所以这个问题可能看起来很愚蠢。
我有一个名为 learn.py 的 Python 脚本,当重定向到日志文件时,我注意到标准输出有两种不同的行为。
如果我从终端调用它,我可以看到脚本运行时日志文件的大小在增加。
$ ./learn.py > file.log
但是,如果我为相同目的创建一个 bash 文件:
#!/bin/bash
./learn.py > file.log
脚本启动(我检查了pgrep)但它似乎没有运行,因为日志文件保持为空。我错过了什么吗?
【问题讨论】:
-
您能发布您的
learn.py脚本的作用吗? -
即使你输入的
learn.py是print "Hello?"... -
@Balthamos
learn.py是一个使用 NLTK 库的复杂脚本。 @JoranBeasley 只需输入“你好”即可。文件是否可能仅在计算结束时才被填充? -
它正在缓冲,但我不知道为什么它会决定只在脚本中缓冲。你是怎么开始的?
-
@thatotherguy 在使用
chmod +x设置可执行文件后,我使用./launcher启动bash 脚本。
标签: python linux bash terminal stdout