社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Serge Ballesta  »  全部回复
回复总数  8
6 年前
回复了 Serge Ballesta 创建的主题 » python regex替换所有以“:”开头的单词,下一个字符是字母

您可以尝试以下模式: '\W:(\w+)' 为了选择 某物 仅当冒号不在 单词 性格。它适用于那个例子,但我不确定它是否足以满足一般需求。

6 年前
回复了 Serge Ballesta 创建的主题 » Python生成器表达式:如何从循环中添加和条件?

正如@1Z10在评论中所建议的, np.reduce 最终会成为你的朋友。

您应该首先构建一个布尔矩阵,其中每个最高级别的行是子数组与其相应阈值的比较。那就用 np.还原 nb.logical_and 在这个矩阵上得到你的结果,不管需要多少比较:

dynamic_expr = np.logical_and.reduce(np.array(
    [dist[:, :, indexes[col]] <= thresholds[col]
     for col in columns]))
print(dynamic_expr)

输出为:

[[ True False  True  True False False False]
 [False  True False False False False False]
 [ True False  True False False False False]
 [ True False False  True False False False]
 [False False False False  True False False]
 [False False False False False  True False]
 [False False False False False False  True]]

你的 get_region 功能有缺陷。应该是:

def get_region():
    return [state_region[i] for i in fulldf['state']]

python的理解经过了足够的优化,使得该函数对于一个30k长的数据帧来说是合适的。

6 年前
回复了 Serge Ballesta 创建的主题 » python 3模块从另一个文件夹导入错误[重复]

这是从主源文件夹外部进行测试的特殊用例。 main 没有理由成为一个包裹,有没有理由不把它做成一个。

imho,最好的方法是从主目录启动测试。因为当前目录总是在 sys.path , sub1 将直接导入,这就足够了:

from sub1 import SomeClass

但是,根据您的开发环境,您可能需要直接从测试目录或除main以外的任何目录启动测试。在这种情况下,我不确定它是否真的是一个最佳实践,我只将其用于我的测试,但一个简单的技巧是将测试文件夹的父文件夹添加到 搜索路径 .

这可能是 test.py :

import os.path
import sys

sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))

from sub1 import SomeClass
...

照它的样子来:A 搜索路径 只允许从测试文件夹访问主源文件夹的技巧。

6 年前
回复了 Serge Ballesta 创建的主题 » 如何在python中加密特定语言?

假设您使用python3版本,那么您的字符串是unicode字符串。在填充之前,您应该将其编码为utf8编码的字节字符串,因为长度会改变。它适用于ascii字符串,因为编码字节字符串的长度是unicode字符串的长度。

因此,在代码中,您必须简单地执行以下操作:

 key = some key
 raw ='한글 (한국말)이라고도하는 한국어는 남한과 한국의 공식 언어입니다'
 byte_raw = raw.encode('utf8')
 AESCipher_obj=AESCipher(key)
 val = AESCipher_obj.encrypt(byte_raw)

 print(val)

解密后,您将得到一个字节字符串,应该用 .decode('utf8') 将其转换为python3(unicode)字符串。

6 年前
回复了 Serge Ballesta 创建的主题 » 在python中添加两个二进制数

假设你想做一个二进制和 用手 你必须:

  • 从结尾开始处理两个数字( reversed 会有帮助的)
  • 持续增加位处理进位,直到两个数字的长度用完为止
  • 重新排序结果位(此处再次 颠倒的 )

代码可以是(假设您可以确定 chaina chainb 只存在于 0 1 字符,此处不测试):

def binsum(chaina, chainb):
    def next0(it):
        """Retrieve next digit from a binary representation, 0 when exhausted"""
        try:
            return int(next(it))
        except StopIteration:
            return 0
    a = reversed(chaina)  # reverse chains to start with lowest order bit
    b = reversed(chainb)
    r = 0
    result = []           # future result
    for i in range(n):
        t = next0(a) + next0(b) + r  # add with carry
        if t > 1:
            t -= 2
            r = 1
        else:
            r = 0
        result.append('1' if t else '0')
    if r != 0:                        # do not forget last carry
        result.append('1')
    return ''.join(result)
6 年前
回复了 Serge Ballesta 创建的主题 » Python2.7文件编码失败

您混淆了源代码编码(声明为 # -*- coding: utf-8 -* )默认的运行时编码with用于unicode和字节字符串之间的隐式转换。它们在Python2和Python3中完全不相关。

从这个意义上说 #-*-编码:UTF-8-* 在python 2和python 3中的行为完全相同:它在当前源文件中声明unicode litterals的编码。

但系统默认编码不同。在python 2中它通常是ascii,并且可以依赖于python 3上的环境,默认值为utf-8。所以你在代码中得到相同的值只是偶然的…

6 年前
回复了 Serge Ballesta 创建的主题 » 无法为pip创建python包

你应该在test.pypi.org中交互查看…

你会立刻注意到你自己的项目 first 但作为 tvg11 . 重要的是里面的名字和版本号 setup.py 文件而不是文件夹名。

但真正的原因是您将包的文件放在 安装程序.py 文件和使用 packages=setuptools.find_packages() . 所以你下面没有包裹 安装程序.py , find_packages 找不到任何东西,而且您已经构建了一个有趣的包,其中只包含 安装程序.py README.md .

如何修复:

首先,您应该为包构建一个更常见的结构:

  - first
    - setup.py
    - LICENSE
    - README.md

    - first
        - __init__.py
        - myfirst.py

往那边走 find_package 将找到 第一 子文件夹作为 TVG11 包裹。