2

我有一个 python 脚本,我想每 5 分钟运行一次以检查服务器上的新文件。我知道我可以用 cron-job 做到这一点。但是在我的 python 脚本目录中,我有一个名为“logs”的文件夹。有没有一种方法可以每 5 分钟将我的 python 脚本返回的任何内容(每次至少返回 20-30 行)输出到一个文本文件到日志文件夹中。我希望能够只搜索文件以查看每次运行的输出。所以根据我的计算,我每天应该得到大约 288 个日志文件。

我还有一个疑问是脚本显示了一些实时内容(如下载进度条),那么会有问题吗?

谢谢!

4

2 回答 2

3

如果您不想修改脚本本身,可以将输出重定向到带时间戳的文件:

./your/script.py > "your-log-file-"`date +"%Y-%m-%d-%H-%M-%S"`".log"

这将输出以下格式的文件:

your-log-file-2013-07-01-20-22-45.log

于 2013-07-02T03:27:44.663 回答
2

如果您希望您的标准输出转到一个文件,您可以这样

import sys
sys.stdout = open('file.txt', 'w')

这样,当你的 python 脚本打印出它会去的东西,file.txt而不是标准输出。

这是一个复制粘贴示例。

import sys
sys.stdout = open("file.txt", 'w')

for n in xrange(100):
    print n

#I bet you can guess what you're going to see in file.txt

这将在名为的文本文件中打印 0-99,file.txt并且控制台上不会显示任何内容。

于 2013-07-02T03:19:30.303 回答