小编Pat*_*pin的帖子

如何在python中递归搜索文件中的字符串

我试图找到我的所有日​​志文件C:\,然后在这些日志文件中找到一个字符串。如果找到该字符串,则输出应该是找到该字符串的日志文件的 abs 路径。下面是我到目前为止所做的。

import os
rootdir=('C:\\')
for folder,dirs,file in os.walk(rootdir):
    for files in file:
        if files.endswith('.log'):
            fullpath=open(os.path.join(folder,files),'r')
            for line in fullpath.read():
                if "saurabh" in line:
                    print(os.path.join(folder,files))
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

包内进口并不总是有效

我有一个像这样结构的Django项目:

appname/
   models/
      __init__.py
      a.py
      base.py
      c.py
Run Code Online (Sandbox Code Playgroud)

... appname/models/__ init__.py只包含这样的语句:

from appname.models.base import Base
from appname.models.a import A
from appname.models.c import C
Run Code Online (Sandbox Code Playgroud)

...以及appname/models/base.py包含的位置:

import django.db.models


class Base(django.db.models.Model):
   ...
Run Code Online (Sandbox Code Playgroud)

以及appname/models/a.py包含的位置:

import appname.models as models


class A(models.Base):
   ....
Run Code Online (Sandbox Code Playgroud)

...同样适用于appname/models/c.py等.

我很满意我的代码结构,但当然它不起作用,因为循环导入.

当appname/__ init__.py运行时,appname/models/a.py将运行,但该模块导入"appname.models",尚未完成执行.经典循环导入.

所以这应该表明我的代码结构很差,需要重新设计以避免循环依赖.

有什么选择呢?

我能想到的一些解决方案,以及为什么我不想使用它们:

  1. 将我的所有模型代码合并到一个文件中:在我看来,在同一个文件中有20多个类比我尝试做的(使用单独的文件)更糟糕.
  2. 将"Base"模型类移动到"appname/models"之外的另一个包中:这意味着我最终会在我的项目中包含包含基类/父类的包,这些类理想情况下应该拆分为其子/子包中的包课程位于.为什么我应该在同一个包中有模型,表单,视图等的基类/父类,而不是它们自己的包(子/子类所在的位置),除了避免循环导入?

所以我的问题不仅仅是如何避免循环导入,而是以一种与我试图实现的方式一样干净(如果不是更干净)的方式.

有没有人有更好的方法?

python circular-dependency python-import

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

如何使用PDFrw在Python中从PDF中提取数据

我正在尝试使用PDFrw从某个PDF获取数据(让我们说这里的页面右上角的那个).我使用PDFrw来做到这一点.我查看了他们提供的文档(我找不到太多)并查看了他们在git上发布的示例代码,但我似乎无法获得足够的信息来做我想做的事情.我如何使用PDFrw制作一个简单的程序进入PDF(或者如果有更好的那个,则进入另一个程序)并提取某段文本.我正在考虑将其转换为HTML ...这会更容易吗?看看我上面提供的PDF作为一个例子,我想得到(让我们说)电压,这在PDF中是600瓦...我怎样才能以最简单的方式做到这一点?我找不到任何关于此的任何其他堆栈溢出问题,所以希望有人可以帮助以前使用它!

谢谢!

python pdf pdf-reader pdfrw

3
推荐指数
1
解决办法
3055
查看次数