[CPyUG] 关于 tail -f | python 的问题

classic Classic list List threaded Threaded
25 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[CPyUG] 关于 tail -f | python 的问题

john-379
我想实时监控系统日志(比方说mail.log),打算采取将 tail 的结果通过管道传给 a.py 来分析。
如果是 tail mail.log | python a.py 这种方式没有问题。
print sys.stdin.read()

但如果 tail -f mail.log | python a.py ,采取这种方法的话,这种方法不好用(没有输出)。
请问各位,这种情况下应该怎么做呢?

不知道我的问题叙述清楚了没有。

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

Xin LI-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2010/02/08 17:14, john wrote:

> 我想实时监控系统日志(比方说mail.log),打算采取将 tail 的结果通过管道传
> 给 a.py 来分析。
> 如果是 tail mail.log | python a.py 这种方式没有问题。
> print sys.stdin.read()
>
> 但如果 tail -f mail.log | python a.py ,采取这种方法的话,这种方法不好用
> (没有输出)。
> 请问各位,这种情况下应该怎么做呢?
>
> 不知道我的问题叙述清楚了没有。

用>转到文件或者|给tee?

没看明白为什么会没有输出。

- --
Xin LI <[hidden email]> http://www.delphij.net/
FreeBSD - The Power to Serve!       Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iQEcBAEBAgAGBQJLcLimAAoJEATO+BI/yjfBE6cH/2FJ7oqdMv6IYjkHun1sooQL
SHBdpotdufZNC7p7FjHCyRIayDgLefi75ix0FwaH8jn25Xfl3lewuXhLFoD4HTa3
J5AO+8BJ6duQwppwrSEHOP4aqbdFuok6tXndsztmSR+aSmhQU8b0oG4Bbc0gVJEO
XShUrOlOWScDlOqmgjqscB3GxFy7ar3jSW2oFYJS7FHPyW/kapdnhWtr+q5CdaLI
4zM63tk1uNtIxXNa5ye11jC2M1gnOnnTGv7s4XuBnnHnPlGm6XjR1ZWhuR+e9gNt
sN67C4ZsS7gXsFm2jxI96uLzbmbttMAUfgiRyqKadb4RqNNf6zeNpAM1j+bxc5Y=
=wQ6k
-----END PGP SIGNATURE-----

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

yi huang-3
In reply to this post by john-379
~> cat temp.py
while True:
    print raw_input()
~> tail -f data.txt | python temp.py &
[2] 21980
~> aaa
bbb
ccc
ddd
ddd
eee

~> echo fff >> data.txt
~> fff

试验了一下,这个方法没有问题,楼主需要具体描述一下遇到什么问题。

2010/2/9 john <[hidden email]>
我想实时监控系统日志(比方说mail.log),打算采取将 tail 的结果通过管道传给 a.py 来分析。
如果是 tail mail.log | python a.py 这种方式没有问题。
print sys.stdin.read()

但如果 tail -f mail.log | python a.py ,采取这种方法的话,这种方法不好用(没有输出)。
请问各位,这种情况下应该怎么做呢?

不知道我的问题叙述清楚了没有。

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp



--
http://codeplayer.blogspot.com/

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

john-379
In reply to this post by Xin LI-2
a.py 的内容是:
print sys.stdin.read()

>>>tail -f mail.log | python a.py
这里一直没有输出,即使我手工往mail.log的最后添加内容并保存。

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

Zoom.Quiet
In reply to this post by Xin LI-2
2010/2/9 Xin LI <[hidden email]>:

> On 2010/02/08 17:14, john wrote:
>> 我想实时监控系统日志(比方说mail.log),打算采取将 tail 的结果通过管道传
>> 给 a.py 来分析。
>> 如果是 tail mail.log | python a.py 这种方式没有问题。
>> print sys.stdin.read()
>>
>> 但如果 tail -f mail.log | python a.py ,采取这种方法的话,这种方法不好用
>> (没有输出)。
>> 请问各位,这种情况下应该怎么做呢?
>>
>> 不知道我的问题叙述清楚了没有。
>
> 用>转到文件或者|给tee?
>
> 没看明白为什么会没有输出。
>
最好给出你的 a.py 代码
在 UNIX 中 pipe 是个I/O 级别的转发,
如果你的 .py 没有合理的持续的I/O 处理,一定是没有反应的了...


> - --
> Xin LI <[hidden email]>    http://www.delphij.net/
> FreeBSD - The Power to Serve!          Live free or die


--
http://zoomquiet.org 人生苦短? Pythonic!
KM乃是培育可催生自学习型组织的文化氛围! (KM=Knowledge Management=知识管理)

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

Xin LI-2
In reply to this post by john-379
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2010/02/08 17:26, john wrote:
> a.py 的内容是:
> print sys.stdin.read()
>
>>>>tail -f mail.log | python a.py
> 这里一直没有输出,即使我手工往mail.log的最后添加内容并保存。

- -f的话如果inode变了是不会follow的,用这个试试看:

        echo "foo" >> mail.log

另外还有一个可能性是因为I/O缓冲,不过因为只有一个|应该不会是这个问题。

Cheers,
- --
Xin LI <[hidden email]> http://www.delphij.net/
FreeBSD - The Power to Serve!       Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iQEcBAEBAgAGBQJLcLqQAAoJEATO+BI/yjfBsoIH/A/7BGIS6m1D0prMdyw0Q2Zv
JhMjTkslvcCmRJ01zpYA/g5tihCytCAlgG8Z8Vc6be+R8MkPSXiKzW12Hg9ia+zO
nshcSYeNU0mW3upVXE3RsZ4gYVw3H4L/rbmCil2uJ21N/9+PoAT+I1a/yXUeYx2C
H83vYOrinjhEYn6crA5VE9uGR5VGvwK4YovyY1Y33GQ3IP8ljeJcRNb95t1+amit
aJUPBBiJUTCBQ+xkI9+BaDc16rLVVExl3DvNtJYShYo6h0fZ+ePUTLWQKN8JGyH0
wa47HCLKvhb81cq+ocaU/VH1doxZTqqICiMMR3Z/INmdPyZVcbv4WoOPTmOUpjY=
=70nE
-----END PGP SIGNATURE-----

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

amingsc
In reply to this post by john-379
能在a.py脚本中循环地 tail -xx mail.log 来获取日志更新不?我知道我们这儿有perl脚本是这么来监控日志的

在 2010年2月9日 上午9:14,john <[hidden email]>写道:
我想实时监控系统日志(比方说mail.log),打算采取将 tail 的结果通过管道传给 a.py 来分析。
如果是 tail mail.log | python a.py 这种方式没有问题。
print sys.stdin.read()

但如果 tail -f mail.log | python a.py ,采取这种方法的话,这种方法不好用(没有输出)。
请问各位,这种情况下应该怎么做呢?


--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

yi huang-3
In reply to this post by john-379
你应该 readline ,read 会一直读到 EOF 才返回的,所以一直阻塞了。

2010/2/9 john <[hidden email]>
a.py 的内容是:
print sys.stdin.read()

>>>tail -f mail.log | python a.py
这里一直没有输出,即使我手工往mail.log的最后添加内容并保存。

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp



--
http://codeplayer.blogspot.com/

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

Xin LI-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2010/02/08 17:32, 黄毅 wrote:
> 你应该 readline ,read 会一直读到 EOF 才返回的,所以一直阻塞了。

楼上正解,应该是这个问题。

> 2010/2/9 john <[hidden email] <mailto:[hidden email]>>
>
>     a.py 的内容是:
>     print sys.stdin.read()
>
>     >>>tail -f mail.log | python a.py
>     这里一直没有输出,即使我手工往mail.log的最后添加内容并保存。
>
>     --
>     来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:python-
>     [hidden email] <mailto:[hidden email]>
>     退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com
>     /4dg6hc
>     详情: https://groups.google.com/group/python-cn
>     严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
>
>
>
>
> --
> http://codeplayer.blogspot.com/
>
> --
> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
> 详情: https://groups.google.com/group/python-cn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp


- --
Xin LI <[hidden email]> http://www.delphij.net/
FreeBSD - The Power to Serve!       Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iQEcBAEBAgAGBQJLcLvOAAoJEATO+BI/yjfBU8AH/19DzKQRJUkZSNkl1YDc5Q6/
Th/EtjBL3Tq+jHVFzIYrsism2Y3UUeBA1BOjMrvYPfE9mI3FBE9GZzIiJTE0uQld
0WpKCEZ1uDDPfvuuCn934Cr83OMymTr5akdOi72X02hqvi9ZF40gxfWlB+ntENkp
JPmP81cfwAiuCXw0kH/Iy9wVEfUNYOEDVBp8+bR8U5DZH2f0ua+SCZ5BPoOMgxR7
fV7yOU5C9jpy91HZs52CeBh2eXeCGNXsmaFX8CQRRXxxpuj9VYpzQEhc1oAMazjJ
Xw7TR6po4NK7e3mVcVHb4JXhxG2B+TNVmgTe2uwGUMAtrGIM8PWk986jdYyGudo=
=yR1g
-----END PGP SIGNATURE-----

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

john-379
In reply to this post by Xin LI-2
谢谢大家。

黄毅给的方法:
while 1:
    print raw_input()
这个方法好用。果然是我太弱了,不知道有这种用法。

我的代码(a.py)是:
while 1:
    print sys.stdin.read()
这种方法不好用。

zoom说的是,开始是没有 while 1 ,后来经过黄毅的提醒,加上了。
但是我觉得这样会占用系统资源。(这种想法对么?)
因为服务器不是自己的,是总公司的,所以想尽可能不让总公司知道我在做这个东西,或者说尽量少的给服务器增加负担,虽然不是坏事。

之后大家给出的方法,我会都试一下。




--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

jondynet
In reply to this post by Xin LI-2
看看这个,python实现的类似 tail -f 功能
http://www.jondy.net/blog/tail-f-in-python/

2010/2/9 Xin LI <[hidden email]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2010/02/08 17:32, 黄毅 wrote:
> 你应该 readline ,read 会一直读到 EOF 才返回的,所以一直阻塞了。

楼上正解,应该是这个问题。

> 2010/2/9 john <[hidden email] <mailto:[hidden email]>>
>
>     a.py 的内容是:
>     print sys.stdin.read()
>
>     >>>tail -f mail.log | python a.py
>     这里一直没有输出,即使我手工往mail.log的最后添加内容并保存。
>
>     --
>     来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:python-
>     [hidden email] <mailto:[hidden email]>
>     退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com
>     /4dg6hc
>     详情: https://groups.google.com/group/python-cn
>     严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
>
>
>
>
> --
> http://codeplayer.blogspot.com/
>
> --
> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
> 详情: https://groups.google.com/group/python-cn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp


- --
Xin LI <[hidden email]>    http://www.delphij.net/
FreeBSD - The Power to Serve!          Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iQEcBAEBAgAGBQJLcLvOAAoJEATO+BI/yjfBU8AH/19DzKQRJUkZSNkl1YDc5Q6/
Th/EtjBL3Tq+jHVFzIYrsism2Y3UUeBA1BOjMrvYPfE9mI3FBE9GZzIiJTE0uQld
0WpKCEZ1uDDPfvuuCn934Cr83OMymTr5akdOi72X02hqvi9ZF40gxfWlB+ntENkp
JPmP81cfwAiuCXw0kH/Iy9wVEfUNYOEDVBp8+bR8U5DZH2f0ua+SCZ5BPoOMgxR7
fV7yOU5C9jpy91HZs52CeBh2eXeCGNXsmaFX8CQRRXxxpuj9VYpzQEhc1oAMazjJ
Xw7TR6po4NK7e3mVcVHb4JXhxG2B+TNVmgTe2uwGUMAtrGIM8PWk986jdYyGudo=
=yR1g
-----END PGP SIGNATURE-----

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp



--
怀才就像是怀孕,日子久了才会被发现!
twitter:http://twitter.com/jondynet

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

john-379
In reply to this post by Xin LI-2
哦~~~
是这样,谢谢。

另通过反复调用tail的方法应该是行,但是我这么一想啊,会不会更多的占用系统资源

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

Zoom.Quiet
2010/2/9 john <[hidden email]>:
> 哦~~~
> 是这样,谢谢。
> 另通过反复调用tail的方法应该是行,但是我这么一想啊,会不会更多的占用系统资源
>
用了才知道,不要自个儿吓自个儿嗒!




--
http://zoomquiet.org 人生苦短? Pythonic!
工作的层次(依靠谱程度从低到高)=有做->做完->做对->做好->帮助他人做好

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

john-379
谢谢大家

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

BOYPT
In reply to this post by john-379
不会占用的,因为raw_input()没有读到输入时候整个线程都阻塞了,被操作系统挂起,不会占用资源

2010/2/9 john <[hidden email]>
谢谢大家。

黄毅给的方法:
while 1:
    print raw_input()
这个方法好用。果然是我太弱了,不知道有这种用法。

我的代码(a.py)是:
while 1:
    print sys.stdin.read()
这种方法不好用。

zoom说的是,开始是没有 while 1 ,后来经过黄毅的提醒,加上了。
但是我觉得这样会占用系统资源。(这种想法对么?)
因为服务器不是自己的,是总公司的,所以想尽可能不让总公司知道我在做这个东西,或者说尽量少的给服务器增加负担,虽然不是坏事。

之后大家给出的方法,我会都试一下。




--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp



--
Arch Linuxer, Pythoner, Geek
--> Blog: http://apt-blog.net

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

[CPyUG] Re: 关于 tail -f | python 的问题

shhgs
In reply to this post by yi huang-3
不知道居然可以用这个办法。我一直都是用fcntl吧stdin设成nonblock的,然后再用select读。这个还真是方便。


On Feb 8, 8:24 pm, 黄毅 <[hidden email]> wrote:

> ~> cat temp.py
> while True:
>     print raw_input()
> ~> tail -f data.txt | python temp.py &
> [2] 21980
> ~> aaa
> bbb
> ccc
> ddd
> ddd
> eee
>
> ~> echo fff >> data.txt
> ~> fff
>
> 试验了一下,这个方法没有问题,楼主需要具体描述一下遇到什么问题。
>
> 2010/2/9 john <[hidden email]>
>
> > 我想实时监控系统日志(比方说mail.log),打算采取将 tail 的结果通过管道传给 a.py 来分析。
> > 如果是 tail mail.log | python a.py 这种方式没有问题。
> > print sys.stdin.read()
>
> > 但如果 tail -f mail.log | python a.py ,采取这种方法的话,这种方法不好用(没有输出)。
> > 请问各位,这种情况下应该怎么做呢?
>
> > 不知道我的问题叙述清楚了没有。
>
> >  --
> > 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
> > 退订:http://tinyurl.com/45a9tb//针对163/qq邮箱:http://tinyurl.com/4dg6hc
> > 详情:https://groups.google.com/group/python-cn
> > 严正: 理解列表! 智慧提问!http://wiki.woodpecker.org.cn/moin/AskForHelp
>
> --http://codeplayer.blogspot.com/

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

No.0023
In reply to this post by amingsc
try it:

import tailer
for line in tailer.follow(open('mail.log')):
    processing(line)

On Tue, Feb 09, 2010 at 09:31:38AM +0800, amingsc wrote:

> 能在a.py脚本中循环地 tail -xx mail.log 来获取日志更新不?我知道我们这儿有perl脚
> 本是这么来监控日志的
>
> 在 2010年2月9日上午9:14,john <[hidden email]>写道:
>
>     我想实时监控系统日志(比方说mail.log),打算采取将 tail 的结果通过管道传给
>     a.py 来分析。
>     如果是 tail mail.log | python a.py 这种方式没有问题。
>     print sys.stdin.read()
>
>     但如果 tail -f mail.log | python a.py ,采取这种方法的话,这种方法不好用(没
>     有输出)。
>     请问各位,这种情况下应该怎么做呢?
>
>
>
> --
> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
> 详情: https://groups.google.com/group/python-cn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp

--
--
Best Regards,
        No.23
----
[hidden email]
My Chaos: https://n23.appspot.com

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

Zoom.Quiet
2010/2/10 No.0023 <[hidden email]>:
> try it:
>
> import tailer

咔咔咔!内置的哪!这最靠谱!

> for line in tailer.follow(open('mail.log')):
>    processing(line)
>
> On Tue, Feb 09, 2010 at 09:31:38AM +0800, amingsc wrote:
>> 能在a.py脚本中循环地 tail -xx mail.log 来获取日志更新不?我知道我们这儿有perl脚
>> 本是这么来监控日志的
>>
>> 在 2010年2月9日上午9:14,john <[hidden email]>写道:
>>
>>     我想实时监控系统日志(比方说mail.log),打算采取将 tail 的结果通过管道传给
>>     a.py 来分析。
>>     如果是 tail mail.log | python a.py 这种方式没有问题。
>>     print sys.stdin.read()
>>
>>     但如果 tail -f mail.log | python a.py ,采取这种方法的话,这种方法不好用(没
>>     有输出)。
>>     请问各位,这种情况下应该怎么做呢?
>>
>>
>>
>> --
>> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
>> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
>> 详情: https://groups.google.com/group/python-cn
>> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
>
> --
> --
> Best Regards,
>        No.23
> ----
> [hidden email]
> My Chaos: https://n23.appspot.com
>
> --
> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
> 详情: https://groups.google.com/group/python-cn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
>



--
http://zoomquiet.org 人生苦短? Pythonic!
流程是对先前蠢行的内在反应! ~ Clay Shirky (Process is an embedded reaction to prior
stupidity) http://is.g...

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 关于 tail -f | python 的问题

Zoom.Quiet
实用!收录!
http://wiki.woodpecker.org.cn/moin/MiscItems/2010-02-10

2010/2/10 Zoom.Quiet <[hidden email]>:

> 2010/2/10 No.0023 <[hidden email]>:
>> try it:
>>
>> import tailer
>
> 咔咔咔!内置的哪!这最靠谱!
>
>> for line in tailer.follow(open('mail.log')):
>>    processing(line)
>>
>> On Tue, Feb 09, 2010 at 09:31:38AM +0800, amingsc wrote:
>>> 能在a.py脚本中循环地 tail -xx mail.log 来获取日志更新不?我知道我们这儿有perl脚
>>> 本是这么来监控日志的
>>>
>>> 在 2010年2月9日上午9:14,john <[hidden email]>写道:
>>>
>>>     我想实时监控系统日志(比方说mail.log),打算采取将 tail 的结果通过管道传给
>>>     a.py 来分析。
>>>     如果是 tail mail.log | python a.py 这种方式没有问题。
>>>     print sys.stdin.read()
>>>
>>>     但如果 tail -f mail.log | python a.py ,采取这种方法的话,这种方法不好用(没
>>>     有输出)。
>>>     请问各位,这种情况下应该怎么做呢?
>>>
>>>
>>>
>>> --
>>> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
>>> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
>>> 详情: https://groups.google.com/group/python-cn
>>> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
>>
>> --
>> --
>> Best Regards,
>>        No.23
>> ----
>> [hidden email]
>> My Chaos: https://n23.appspot.com
>>
>> --
>> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
>> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
>> 详情: https://groups.google.com/group/python-cn
>> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
>>
>
>
>
> --
> http://zoomquiet.org 人生苦短? Pythonic!
> 流程是对先前蠢行的内在反应! ~ Clay Shirky (Process is an embedded reaction to prior
> stupidity) http://is.g...
>



--
http://zoomquiet.org 人生苦短? Pythonic!
Zoom.Quiet: Time is unimportant, only life important!

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

[CPyUG] Re: 关于 tail -f | python 的问题

tocer
In reply to this post by Zoom.Quiet


On Feb 10, 9:08 am, "Zoom.Quiet" <[hidden email]> wrote:
> 2010/2/10 No.0023 <[hidden email]>:
>
> > try it:
>
> > import tailer
>
> 咔咔咔!内置的哪!这最靠谱!
>

刚试了一下,发现不是内置的,是外部模块,网址 http://code.google.com/p/pytailer/

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
12