社区所有版块导航
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
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Steve

Steve 最近回复了
2 年前
回复了 Steve 创建的主题 » 将Redis客户端导入Typescript应用程序时出错

如果删除任何类型的代码,代码将在节点14上工作。我的包裹。json使用:

"@tsconfig/node14": "^1.0.1",
"redis": "^4.0.4"
class RedisCache {
    //private client: any;

    async init() {

        const client = createClient();

        client.on('error', (err) => console.log('Redis Client Error', err));

        await client.connect();

        await client.set('key', 'value');
        const value = await client.get('key');
        console.log("In class");
        console.log(value);
    }
}

const reditCache = new RedisCache();
reditCache.init();
1 年前
回复了 Steve 创建的主题 » 如何在Python中获得与在Excel中使用SLOPE相同的结果?

干得好。

import numpy as np
from sklearn.linear_model import LinearRegression

x = np.array([5.12,26.81,58.82,100.04,148.08]).reshape((-1, 1))
y = np.array([-0.10266667,0.02666667,0.016 ,0.06666667,0.08266667])

model = LinearRegression().fit(x, y)

print(model.coef_)

# methods and attributes available
print(dir(model))

在excel中, SLOPE 参数的顺序是y,x。我在这里使用了这些名称,所以它会更明显。

这个 reshape 只是制造 x a所需列表的列表。 y 只是需要一张清单。 model 有许多其他可用的方法和属性。看见 dir(model) .

1 年前
回复了 Steve 创建的主题 » for循环中的Python打印格式

我想这就是你想要的。

print("")
encryptString = input("Please enter string to encrypt:")
print("")
offSetValue = int(input("Please enter offset value (1-94):"))
print("")

print("Encrypted string:") 
for character in encryptString:
    x = ord(character)
    y = x + offSetValue
    z = chr(y)      
    print(z, end="")

print()

你想要 print("Encrypted string:") 在循环和使用之前 end 而不是 sep . 九月 用于分隔打印中的多个参数。 终止 是在打印内容的末尾添加的终止字符。这里我们以空字符串结束。默认的 终止 是新线人物, \n .这就是为什么你看到所有的东西都印在新的一行上。

4 年前
回复了 Steve 创建的主题 » 在Python中将数据压缩成最小的文本量

更新:我刚刚看到你改变了你的问题,澄清你关心的是字符长度而不是字节长度。这是一个非常奇怪的约束。我以前从没听说过。我不知道该怎么办。但如果这是你的需要,你想要可预测的阻塞行为,那么我认为你的问题很简单。只需选择可以表示最可能唯一字符的兼容字符编码,然后将二进制文件的块映射到该字符集上,使每个块都是它所能达到的最长的,并且所包含的比特数少于字符编码中可表示的字符数。然后,每个这样的块变成一个字符。因为这个约束有点奇怪,所以我不知道是否有库可以这样做。

更新2:出于对上述内容的好奇,我在谷歌上找到了这个: https://qntm.org/unicodings . 如果你的工具和沟通渠道能够处理UFT-16或UTF-32,那么你可能会在寻求使用它的时候有所收获。如果是这样的话,我希望这篇文章能为您提供您正在寻找的解决方案。我认为本文仍然在针对字节长度和字符长度进行优化,因此这可能无法提供最佳解决方案,但它只能提供帮助(每个字符32个潜在位,而不是7或8)。我找不到任何寻求优化字符计数单独,但也许UTF-32方案,如Base65536是你的答案。退房 https://github.com/qntm/base65536 .

如果你关心的是字节长度,并且你想坚持使用通常所说的“可打印字符”或“纯可打印文本”,那么这里是我最初的答案。。。

Base85非常接近将任意二进制编码为“纯文本”时的最佳效果,如果您希望“纯文本”编码能够在逻辑上分解为有意义的、可预测的块,则它是最佳效果。理论上,您可以使用在高ASCII范围内使用可打印字符的字符集,但经验表明,许多工具和通信通道如果不能处理直接二进制字符,则不能很好地处理高ASCII。尝试每4个二进制字节使用额外的5位,或者使用256位高ASCII而不是128位ASCII,不会节省太多额外的空间。

对于任何BaseXX编码,该算法接受传入的二进制位,并使用它可以使用的XX个可打印字符对它们进行尽可能紧密的编码。Base85将比Base64更紧凑,因为它使用的可打印字符(85)比Base64使用的可打印字符(64个字符)多。

结果是,85个字符是你需要编码4个字节,正好5个可打印字符。许多人会选择增加大约10%的额外长度,以获得这样一个事实,即每4个编码字节将导致正好5个ASCII字符。这只是一个25%的通货膨胀的大小二进制。这对它省下的所有头痛来说一点也不坏。因此,Base85背后的动机。

Base64用于生成更长但问题更少的编码。不使用给各种文本文档(如HTML、XML、JSON等)带来麻烦的字符。这样,Base64在几乎任何上下文中都是有用的,而无需任何转义。你必须更加小心使用Base85,因为它不会抛出这些有问题的字符。为了提高编码/解码效率,它使用范围33(!)通过117(u),从33开始,而不是32,只是为了避免经常出现问题的空格字符。上面不使用的“u”字没什么特别的。

这就是二进制编码方面的故事。另一个问题是,在将二进制表示编码为ASCII之前,您可以做些什么来减小所表示内容的大小。你选择使用 pickle.dumps() zlib.compress() . 如果这些是你最好的选择,那就留给另一个讨论吧。。。

4 年前
回复了 Steve 创建的主题 » 错误1728(HY000):无法从mysql.db加载。桌子可能坏了

需要使用以下命令修复mysql.db表:

mysql> REPAIR TABLE mysql.db;

你可以找到一个类似的问题和解释 here

4 年前
回复了 Steve 创建的主题 » Python math在命令行中是正确的,而py文件中却是错误的?

您的代码有两个问题:

1) 正如用户2357112所说,您需要在两个减法前后加上括号,这样减法就在除法之前完成了。

str(root[1]-origin[i][0]) 应该是 str(root[1]-origin[i][1])

def N_queens_validator(n):

    if len(set(n))!=len(n):
        return print(f'{n} =>False same row')

    else:
        origin=[(ind,val) for ind,val in enumerate(n)]
        a=origin[:]
        for m in range (len(n)):
            root=a.pop(0)
            for i in range(m+1,len(n)):
                result=(root[0]-origin[i][0])/(root[1]-origin[i][1])
                print(str(root[0]-origin[i][0])+'/'+str(root[1]-origin[i][1])+' the result is: '+str(result))
                if abs(result)==1:
                    return print(f'{n} =>False same diagonal')
        return print(f'{n} =>True')

N_queens_validator([8, 6, 4, 2, 7, 1, 3, 5])

结果:

-1/2 the result is: -0.5
-2/4 the result is: -0.5
-3/6 the result is: -0.5
-4/1 the result is: -4.0
-5/7 the result is: -0.7142857142857143
-6/5 the result is: -1.2
-7/3 the result is: -2.3333333333333335
-1/2 the result is: -0.5
-2/4 the result is: -0.5
-3/-1 the result is: 3.0
-4/5 the result is: -0.8
-5/3 the result is: -1.6666666666666667
-6/1 the result is: -6.0
-1/2 the result is: -0.5
-2/-3 the result is: 0.6666666666666666
-3/3 the result is: -1.0
[8, 6, 4, 2, 7, 1, 3, 5] =>False same diagonal

原来我不应该将max_rows设置为max_columns display设置为-1。而不是

pd.set_option("display.max_rows",-1)
pd.set_option("display.max_columns",-1)

最好给出整数值,比如

pd.set_option("display.max_rows",1000)
pd.set_option("display.max_columns",100)

以前没有这样的问题。所以,我不确定这里的实际问题是什么。我想把这个放在这里,以防别人也有同样的问题。

4 年前
回复了 Steve 创建的主题 » 无法在C中连接到mySQL#

首先,您需要下载MySql data connector for.NET。你可以在这里找到它 https://dev.mysql.com/downloads/connector/net/ . 接下来,在安装之后,需要向项目中添加对MySql库的引用。见 here how to do it

或者您可以简单地使用NuGet包管理器自动下载和安装连接器。

在任何情况下,在正确安装并引用库之后,您应该将 using MySql.Data.MySqlClient; 现在可以使用连接到MySql并处理其数据所需的类了。

所以你的代码应该是

using MySql.Data.MySqlClient;

... other code ....

private void Button1_Click(object sender, EventArgs e)
{

    try
    {
        string connetionString = @"Server=localhost;Database=my_projects;User ID=root;Password=123456";
        using(MySqlConnection cnn = new MySqlConnection(connetionString))
        {
            cnn.Open();
            MessageBox.Show("Connection Open  !");
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show("Cannot open connection: Reason:" + ex.Message);
    }

}

请记住,到数据库的连接包含非托管资源,您应该始终添加 using statement 围绕着这些东西。

5 年前
回复了 Steve 创建的主题 » 命令行中的python modulenotfounderror

如果您的模块与您的可执行文件包含在同一个目录中(如您所示),则如下所示:

文件结构:

f1.py
m1
  __init__.py
  C1.py

C1.Py

class C1:
    def test(self):
        print("Hi!")

F1.Py

#!/usr/bin/env python

from m1.C1 import C1

C1().test()

执行:

> python f1.py
Hi!

你的模块目录中有初始化文件,对吧?如果没有,那可能就是你在这件事上遇到麻烦的原因。

5 年前
回复了 Steve 创建的主题 » 处理python字典中缺少的键

我认为你的逻辑有一个根本问题。你正在遍历所有实例并为其中的每个实例建立映射 EC2FIN . 但是每次通过循环,在处理一个特定的实例时,您都在循环 EC2FIN ,包括以前循环迭代添加的数据。我打赌你不是真的想这么做。我打赌你真的想显示你正在处理的实例的属性。

这是你问题的关键:

attributes = ['Instance ID', 'Type',
    'State', 'Private IP', 'Launch Time' ]
for instance_id, instance in ec2info.items():

所以在这里,你迭代所有的地图 EC2FIN ,但您正在应用一组特定于当前正在处理的实例的“属性”。一般来说,根据你自己的代码,不是所有的地图 EC2FIN 所有的钥匙都是一样的,你得到的是错误。

5 年前
回复了 Steve 创建的主题 » python slapy响应站

这个函数永远不会做任何事情,因为 如果 有条件的:

if response.url is 'http://www.ccdy.cn/zhuanti/' and response.url is 'http://www.ccdy.cn/difang/':

将永远是错误的,因此它永远不会进入 如果 代码块。也许你想要一个或那里而不是一个和?

…或者也许你的压痕错了,或者至少是我弄错了。在任何情况下, 如果 没有任何意义,因为很明显它总是错误的。