GVKun编程网logo

Python:包中的“私人”模块(python 包 模块)

12

如果您想了解Python:包中的“私人”模块和python包模块的知识,那么本篇文章将是您的不二之选。我们将深入剖析Python:包中的“私人”模块的各个方面,并为您解答python包模块的疑在这篇文

如果您想了解Python:包中的“私人”模块python 包 模块的知识,那么本篇文章将是您的不二之选。我们将深入剖析Python:包中的“私人”模块的各个方面,并为您解答python 包 模块的疑在这篇文章中,我们将为您介绍Python:包中的“私人”模块的相关知识,同时也会详细的解释python 包 模块的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

Python:包中的“私人”模块(python 包 模块)

Python:包中的“私人”模块(python 包 模块)

我有一个封装mypack与模块mod_a,并mod_b在里面。我打算将包装本身包装并mod_a自由进口:

import mypackimport mypack.mod_a

但是,我想保留mod_b的专有使用权mypack。那是因为它的存在仅仅是为了组织后者的内部代码。

我的第一个问题是,拥有这样的“私有”模块在Python编程中是否被接受?

如果是,我的第二个问题是,将这种意图传达给客户的最佳方法是什么?我是否在名称前加上下划线(例如_mod_b)?还是声明一个子包private并将所有这些模块放在那里是个好主意?

答案1

小编典典

我确定的解决方案是创建一个子包“ private”,并将所有希望隐藏的模块放在其中。这样,他们就可以收起来,使mypack的模块列表更整洁,更易于解析。

对我来说,这看起来也不是不可思议的。

Boost.Python:包装函数以释放GIL

Boost.Python:包装函数以释放GIL

我目前正在使用Boost.Python,希望获得一些帮助来解决棘手的问题。

语境

当C 方法/函数暴露给Python时,它需要释放GIL(全局解释器锁)以允许其他线程使用解释器。这样,当python代码调用C函数时,解释器可以被其他线程使用。现在,每个C ++函数如下所示:

// module.cpp
int myfunction(std::string question)
{
    ReleaseGIL unlockGIL;
    return 42;
}

为了通过它来增强python,我这样做:

// python_exposure.cpp
BOOST_PYTHON_MODULE(PythonModule)
{
    def("myfunction",&myfunction);
}

问题

该方案可以正常工作,但是这意味着没有充分理由module.cpp依赖Boost.Python。理想情况下,仅python_exposure.cpp应依赖Boost.Python

解?

我的想法是Boost.Function像这样包装函数调用:

// python_exposure.cpp
BOOST_PYTHON_MODULE(PythonModule)
{
    def("myfunction",wrap(&myfunction));
}

wrap呼叫期间,这里将负责解锁GIL
myfunction。这种方法的问题在于,wrap需要具有与myfunction几乎意味着重新实现相同的签名Boost.Function

如果有人对这个问题有任何建议,我将非常感谢。

Cython:如何在包中导入您自己的 cython 模块?

Cython:如何在包中导入您自己的 cython 模块?

为了让 main.py 正常工作,我必须:

  • 将 setup.py 从 myPackage 移动到 myProject 并相应地更改路径
  • 不要使用 include_dir 或 include_path
  • cimport:来自 myPackage.animal cimport 动物

我不知道为什么当 setup.py 在 myPackage 中时它不起作用!

myProject
│
├── main.py
├── setup.py
│
├── myPackage
│   ├── animal.pxd
│   ├── animal.pyx 
│   ├── zoo.pxd
│   ├── zoo.pyx 

和 setup.py

from setuptools import setup,find_packages,Extension
from Cython.Build import cythonize

extensions = [
    Extension("myPackage.animal",["myPackage/animal.pyx"]),Extension("myPackage.zoo",["myPackage/zoo.pyx"])]

compiler_directives = {"language_level": 3,"embedsignature": True}
extensions = cythonize(extensions,compiler_directives=compiler_directives) 

Groovy中的“私人”是什么意思?

Groovy中的“私人”是什么意思?

以下代码设置一个私有方法。那么私人真的是私人的呢?

public class Person {
 private String name
}

def u = new Person(name:"Ron")
println u.name

解决方法

通过设计,Groovy应该尊重私有修饰符,但是目前的实现没有考虑它。
您可以在以下Jira条目中找到更多详细信息:

> Groovy JIRA 1591
> Groovy JIRA 3010

groovy call private method in Java super class还有更多细节

php – “私人”网站真正需要多少安全性?

php – “私人”网站真正需要多少安全性?

我问这个问题,因为我为一群相当孤立的人(不超过80人)维护了一个小网站.它目前具有简单的登录功能(电子邮件,密码),“受保护”的数据仅仅是我们会员的联系信息(电话,地址,电子邮件).该网站是用PHP编写的,并使用My sql.

最近几天,我一直在阅读有关网站安全的论坛和其他网站,因为我想在我们的网站上加强它.现在,安全性包括sql注入保护和存储在数据库中的MD5哈希密码.这种感觉很不合适,但我也觉得很容易把它拿走太远.我的意思是这里并不完全是核发射代码,但数据人们通常觉得不能在网上显示.该网站本身由一个相当着名的网络主机托管.

我现在能看到的唯一威胁是恶作剧者在网站上磕磕绊绊并尝试了一些自制的结合?

所以我觉得中间的某个地方就足够了.喜欢

> sql注入保护(如果需要,增强)
>使用salt更强的哈希方法
> XSS保护
> DDoS保护
>访问成员区域时的SSL

你认为更有经验的人是什么?

更新:我想补充一点,我自己做所有事情,没有预算购买花哨的加密技术或聘请专业程序员.

最佳答案
要增强sql注入的安全性,您必须看到:

> Best Way to Prevent SQL Injection

它会告诉您使用PDO,参数化查询.

要了解一般安全问题,请参阅此文章,其中涵盖了很多内容:

> PHP Security Guide (By PHP Security Consotium)

使用以下方面审核您的网站安全性:

> OWASP

> PHPSec

PHPSec is a open-source PHP security library that takes care of the
common security tasks a web developer faces.

今天关于Python:包中的“私人”模块python 包 模块的分享就到这里,希望大家有所收获,若想了解更多关于Boost.Python:包装函数以释放GIL、Cython:如何在包中导入您自己的 cython 模块?、Groovy中的“私人”是什么意思?、php – “私人”网站真正需要多少安全性?等相关知识,可以在本站进行查询。

本文标签: