标签: python-module

nslookup的python模块

是否有一个python模块与nslookup做同样的事情?我打算使用nslookup挖掘有关要废弃的URL域的一些信息.我知道我可以使用os.sys来调用nslookup,但我只是想知道是否已经有了这个python模块.提前致谢!

nslookup python-module

24
推荐指数
6
解决办法
5万
查看次数

'reload'的递归版本

当我开发Python代码时,我通常在解释器中以临时方式测试它.我将import some_module测试它,找到一个bug,修复bug并保存,然后再使用内置reload函数进行reload(some_module)测试.

但是,假设在some_module我有import some_other_module,并且在测试时some_module我发现了一个错误some_other_module并修复它.现在调用reload(some_module)不会递归重新导入some_other_module.我必须手动重新导入依赖项(通过执行类似的操作reload(some_module.some_other_module),或者import some_other_module; reload(some_other_module),或者,如果我已经更改了一大堆依赖项并且丢失了我需要重新加载的内容,我需要重新启动整个解释器.

更方便的是,如果有一些recursive_reload功能,我可以做recursive_reload(some_module),让Python不仅重新加载some_module,而且还递归地重新加载每个some_module导入的模块(以及每个模块导入的每个模块,等等)我可以肯定我没有使用任何其他模块的旧版本some_module.

我不认为Python内置任何内容就像recursive_reload我在这里描述的功能一样,但有没有一种简单的方法可以将这样的东西组合在一起?

python python-module python-import

24
推荐指数
3
解决办法
6477
查看次数

Python中模块和类之间的区别

我可以为模块中的变量赋值.如果是,则类和模块之间有什么区别.

PS:我是个小家伙.如果它有助于解释.谢谢.

python class python-module

24
推荐指数
4
解决办法
3万
查看次数

如何调试从命令行使用python -m运行的Python模块?

我知道可以从命令行调试Python脚本

python -m pdb my_script.py
Run Code Online (Sandbox Code Playgroud)

if my_script.py是一个打算运行的脚本python my_script.py.

但是,my_module.py应该运行python模块python -m my_module.甚至包含相对导入的脚本也应该运行python -m.我怎么能python -m my_modulepdb控制下运行?以下不起作用:

python -m pdb -m my_module
Run Code Online (Sandbox Code Playgroud)

python debugging python-module pdb

24
推荐指数
4
解决办法
1万
查看次数

从模块动态导入所有内容(*)

我有一个Python模块,我想动态导入只给出一个模块名称的字符串.通常我使用importlib或者__import__这很好用,因为我知道我想从模块导入哪些对象,但是有没有办法import *动态地做同样的事情.还是有更好的方法?

我一般都知道使用它的不良做法,import *但我试图导入的模块是动态自动生成的,我无法知道包含我正在寻址的类的确切模块.

谢谢.

python import python-module

23
推荐指数
2
解决办法
4199
查看次数

简单的数据验证

我正在编写一个python模块,它将包含一些将操作mongodb数据库的函数.

在将数据保存到数据库之前,如何验证传递给该函数的输入数据?

例如,假设模块中的一个函数createUser(user)接受python字典作为参数.该字典包含要保存在数据库中的用户信息.我想创建一个自动验证例程,它检查字典结构是否与数据库结构匹配.

python validation python-module

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

Python:在一系列脚本中共享公共代码

我正在一个项目中编写一系列Python脚本; 每个脚本都在项目的子目录中,如下所示:

projectroot
  |
  |- subproject1
  |    |
  |    |- script1.main.py
  |    `- script1.merger.py
  |
  |- subproject2
  |    |
  |    |- script2.main.py
  |    |- script2.matcher.py
  |    `- script2.merger.py
  |
  `- subproject3
       |
       |- script3.main.py
       |- script3.converter.py
       |- script3.matcher.py
       `- script3.merger.py
Run Code Online (Sandbox Code Playgroud)

现在有几个脚本共享一些代码.共享代码最好被认为是项目本身的一部分,而不是我单独编译并创建一个库,或者放入一个全站的PYTHONPATH.我可以将该代码放在各种位置,例如在projectroot目录本身中,或者在projectroot被调用的子目录中common(可能).

但是,到目前为止,我所考虑的大部分方法都是使用空__init__.py文件和使用相对导入(或sys.path在每个子项目中冗余地搞乱)从子项目中创建包.更糟糕的是,似乎围绕这个脚本系列构建包结构被拒绝的PEP-3122发出以下警告:

注意!该PEP已被拒绝.Guido将包中的脚本视为反模式.

如果包中的脚本是反模式的,那么如何以一种将公共代码保存在同一项目中的方式进行设置?或者这里是否可以接受基于模块和包的系统?哪种方法最干净?(FWIW我更喜欢在项目根目录中有一个文件,shared.py或者common.py在项目根目录中,而不是创建一个实用程序目录,它是"真正的"子项目的兄弟.)

python python-module pythonpath

23
推荐指数
1
解决办法
8584
查看次数

Django 1.7冲突的模型

我在"project/apps/myapp"文件夹中安装我的应用程序.apps和myapp文件夹都有init .py文件(没有任何模块缺少模块错误).现在我有错误:

Exception Type: RuntimeError at /
    Exception Value: Conflicting 'person' models in application 'resume': <class
 'apps.resume.models.Person'> and <class 'resume.models.Person'>.
Run Code Online (Sandbox Code Playgroud)

Django使用两个不同的pathes导入相同的模型.我该如何解决?

完整错误日志:

Traceback:
File "/home/voxa/.virtualenvs/42-test/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  98.                 resolver_match = resolver.resolve(request.path_info)
File "/home/voxa/.virtualenvs/42-test/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
  343.             for pattern in self.url_patterns:
File "/home/voxa/.virtualenvs/42-test/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns
  372.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/voxa/.virtualenvs/42-test/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
  366.             self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/importlib/__init__.py" in import_module
  37.     __import__(name)
File "/home/voxa/django/FortyTwoTestTask/fortytwo_test_task/urls.py" in <module>
  4. from resume import views
File "/home/voxa/django/FortyTwoTestTask/apps/resume/views.py" in <module>
  4. from …
Run Code Online (Sandbox Code Playgroud)

django python-module django-models

23
推荐指数
2
解决办法
8417
查看次数

在Python中自动下载所需模块的最简单方法?

我想发布一个我写的python模块,它依赖于几个包.最简单的方法是什么,以便以编程方式下载这些软件包,以防它们在正在运行的系统上不可用?大多数这些模块应该通过easy_install或pip或类似的东西提供.我只想避免让用户单独安装每个模块.

谢谢.

python module python-module setuptools

22
推荐指数
2
解决办法
2万
查看次数

Python单元测试 - 在0.000秒内进行0测试

所以我想做这个代码Kata练习.我想在单独的文件中用tdd实现kata:

算法:

# stringcalculator.py  
def Add(string):
   return 1
Run Code Online (Sandbox Code Playgroud)

和测试:

# stringcalculator.spec.py 
from stringcalculator import Add
import unittest

class TestStringCalculator(unittest.TestCase):
    def add_returns_zero_for_emptyString(self):
        self.assertEqual(Add(' '), 0)

if __name__ == '__main__':
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

运行测试文件时,我得到:

Ran 0 tests in 0.000s

OK
Run Code Online (Sandbox Code Playgroud)

但它应该返回一个失败的测试.我在这里想念什么?

python unit-testing python-module python-unittest

22
推荐指数
4
解决办法
1万
查看次数