相关疑难解决方法(0)

在Python 3和Python 2中阅读更改文件

我试图在Python中读取一个更改的文件,脚本可以处理新添加的行.我有下面的脚本打印出文件中的行,但不会终止.

with open('tmp.txt','r') as f:
    while True:
        for line in f:
            print(line.replace('\n',''))
Run Code Online (Sandbox Code Playgroud)

其中'tmp.txt'由一些行组成,例如:

a
d
2
3
Run Code Online (Sandbox Code Playgroud)

如果我附加到'tmp.txt'文件,例如使用:

echo "hi" >> tmp.txt
Run Code Online (Sandbox Code Playgroud)

如果脚本使用Python 3运行,脚本将打印出新行,而不是Python 2.在Python 2中是否存在等效脚本?在这种情况下,两个版本的Python有什么不同?

python file

6
推荐指数
1
解决办法
806
查看次数

自动从Minecraft中读取聊天文本

在Minecraft中,我希望找到一种方法来自动阅读聊天,如下图所示

我的聊天截图

为了将虚拟商店中进行的事务记录到PostgreSQL数据库中.最好使用Python.我不拥有Minecraft服务器.

我的计划是找到一种直接读取Minecraft服务器发送的数据包的方法(首选可靠性,但难度不大),或者作为备份计划可能会弄清楚如何屏蔽文本.我找到了一些资源,可以让我将字体更改为monospaced,这将提供更可靠的字体读取方式,我相信在屏幕上为每个字符创建完美一致的位置.我可以面对一个接近黑色但不完全的方向,但不愿意这样做.如上图所示,您可以看到有许多不同颜色的字体可供使用.

即使在如上所述减少它之后,我仍然不确定如何使用python将其转换为文本.

关于我的方法的任何提示?有关如何读取来自服务器的数据包的任何提示?有关从屏幕上抓取文字的提示吗?

python text screen-scraping minecraft

5
推荐指数
2
解决办法
4396
查看次数

检测日志文件旋转(在监视日志文件进行修改的同时)

我使用以下代码跟踪ssh登录:

def follow(thefile):
  thefile.seek(0,2)
  while True:
    line = thefile.readline()
    if not line:
      time.sleep(0.1)
      continue
    yield line

if __name__ == '__main__':
  logfile = open('/var/log/auth.log', 'r')
  loglines = follow(logfile)
  for line in loglines:
    print 'do something here'
Run Code Online (Sandbox Code Playgroud)

我注意到该脚本在几天后突然停止工作。我没有任何错误,它不会终止,只会停止工作,好像readline()永远不会返回。

所以我执行了a echo 'test' >> auth.log.1,这的确是被脚本处理了,因为前一段时间auth.log将其重命名为auth.log.1

如何跟踪这种日志轮换的时间并进行相应调整?

python linux logging

5
推荐指数
1
解决办法
2812
查看次数

标签 统计

python ×3

file ×1

linux ×1

logging ×1

minecraft ×1

screen-scraping ×1

text ×1