小编Pit*_*kos的帖子

如何解决Python中的模块名称冲突?

我有一个名为 websocket 的模块。对于这个模块,我想要一些测试,并且对于这些测试,我pip install需要适当的模块。问题是安装的模块与我自己的模块具有完全相同的名称。

项目结构

websocket-server
       |
       |---- websocket.py
       |
       '---- tests
               |
               '---- test.py
Run Code Online (Sandbox Code Playgroud)

测试.py

from websocket import WebSocketsServer  # my module
from websocket import create_connection # installed module
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题:

  • 无需重命名我的模块 ( websocket.py)
  • 不会让我的项目变得丑陋__init__()
  • 需要同时在 Python3 和 2 上运行

python name-collision

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

我可以使用Prim算法而不是Dijkstra来找到最短路径吗?

我一整天都在努力理解Dijkstra的算法并且没有显着的结果.我有一个城市矩阵和他们的距离.我想要做的是给出一个原点和一个目的地点,找到城市之间的最短路径.

例:

     __0__ __1__ __2__ 
 0  |  0  | 34  |  0  |
    |-----|-----|-----|
 1  | 34  |  0  | 23  |
    |-----|-----|-----|
 2  |  0  | 23  |  0  |
     ----- ----- -----
Run Code Online (Sandbox Code Playgroud)

我开始想知道是否还有其他方法可以解决这个问题.如果我从原点开始应用Prim算法然后遍历整个树,直到找到目标点,该怎么办?

dijkstra shortest-path minimum-spanning-tree prims-algorithm

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

是否有一个简单而美观的GUI库用于C程序?

我在大学学习时主要以C语言编写.我想知道是否有一些简单的开源库可以让我为C中的程序制作GUI.

要优先考虑的事情:

  1. 简单
  2. 好看的
  3. 特征

我不知道如何用C++编程,更喜欢保持纯C语言.

c linux user-interface open-source

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

window.load总是不会在chrome上激活?

我有这个用户名:

// ==UserScript==
// @name          test
// @namespace     test
// @description   show's an alert on load
// @include       http://*
// @include       https://*
// ==/UserScript==

window.addEventListener('load', function(){alert("loaded");}, false);
Run Code Online (Sandbox Code Playgroud)

这在所有页面上都适用于Firefox,但在某些情况下在Chrome上根本不起作用.

一个例子是这个网站:http://lexin.nada.kth.se/lexin/ 输入地址中的链接并点击进入,正常加载页面但没有弹出警报.如果按F5刷新页面,则会显示弹出窗口.

对这种奇怪的行为有一些解释吗?

javascript greasemonkey google-chrome onload userscripts

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

Github URL用于创建具有特定名称的新文件?

我知道您可以使用URL github.com/<username>/<project_name>/new/<branch_name>/<path_to_create_file>在项目的给定路径上创建新文件.

有没有办法做同样的但是从URL指定新文件的名称?

所以在浏览器中点击如下内容:

http://github.com/Pithikos/C-Thread-Pool/new/master/tests/newtest.py
Run Code Online (Sandbox Code Playgroud)

会让我到Github的在线编辑器,我将能够开始打字newtest.py.

github

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

help()在哪里找到Python中的信息?

我发现help()最近内置的内容为模块,函数,方法,类等打印了一些信息.但它究竟在哪里找到它显示的信息?Python文档没有给出一个关于此的提示.

>>> import base64
>>> help(base64)
Help on module base64:

NAME
    base64 - RFC 3548: Base16, Base32, Base64 Data Encodings

FILE
    /usr/lib/python2.7/base64.py
..
Run Code Online (Sandbox Code Playgroud)

python helper built-in python-2.7

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

注册到PyPi:基本身份验证失败

我无法弄清楚如何注册我的项目.我可以在https://testpypi.python.org/pypi上正常登录,但在我的.pypirc上使用相同的凭据不起作用.

.pypirc

[distutils]
index-servers=
    test

[test]
repository = https://testpypi.python.org/pypi
username = <username>
password = <password>
Run Code Online (Sandbox Code Playgroud)

<username><password>替换为我用于在testpypi手动登录的凭据.

然后我尝试注册我的项目:

python setup.py register -r test
Run Code Online (Sandbox Code Playgroud)

产量

running register
running egg_info
writing websocket_server.egg-info/PKG-INFO
writing top-level names to websocket_server.egg-info/top_level.txt
writing dependency_links to websocket_server.egg-info/dependency_links.txt
reading manifest file 'websocket_server.egg-info/SOURCES.txt'
writing manifest file 'websocket_server.egg-info/SOURCES.txt'
running check
Registering myproject to https://testpypi.python.org/pypi
Server response (401): basic auth failed
Run Code Online (Sandbox Code Playgroud)

知道发生了什么事吗?我到处寻找,但似乎很少有关于如何解决这些问题的信息.

distutils pypi setup.py python-2.7 cheeseshop

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

C:当不再有指向结构的指针时,如何释放内存?

我有一个函数可以创建一个结构并返回新结构本身。该结构包含一个数字数组和一个显示有多少个数字的整数(这就像一个数组)。所以我有 makeStruct 来创建一个临时结构然后返回它。在 main 中,我调用此函数并将其分配给我的结构 myNumbers。其效果是,在函数中创建了一个结构实例,将其复制到 myNumbers,然后将其删除。我的假设正确吗?

这似乎编译正确,但我看不到释放分配的内存的方法,因为没有指针指向我的结构。我怎样才能释放内存?

#include <stdlib.h>
#include <stdio.h>

typedef struct{
    int* numbers; /*array of numbers*/
    int  crowd; /*crowd of numbers*/
} magicNums;

magicNums makeStruct(int crowd){
    magicNums tempStruct, *struct_ptr=&tempStruct; /*my temp struct and its pointer*/
    struct_ptr=(magicNums*)malloc(sizeof(magicNums)); /*allocating memory for struct*/
    tempStruct.numbers=(int*)malloc(sizeof(int)*crowd); /*allocating memory for struct's numbers*/
    return tempStruct;
}

int main() {
    magicNums myNumbers;
    myNumbers=makeStruct(10);
    /*magicNums *myNumbers_ptr=&myNumbers;  This won't work             */
    /*free(myNumbers_ptr);                  This won't work             */
    /*free(&myNumbers);                     This won't work             */
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c malloc free struct function

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

C:为什么整数作为长整数?

据我所知,整数在32,768到32,767之间.长整数范围为2,147,483,648到2,147,483,647.我加倍检查wikipedeia以确保.

现在的问题是:

int a=2147483647;
printf("a: %d\n", a);
Run Code Online (Sandbox Code Playgroud)

为什么这样做?如果我将1添加到2147483647然后它会打印垃圾,如果变量是一个长整数,则可以预期.但为什么它允许我在一开始就为整数分配一个长整数?

c integer range variable-assignment long-integer

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

当分隔符出现在字符串的开头时,在Perl中使用regexp拆分字符串

我想使用正则表达式拆分字符串,但我遇到了一些问题.我有这个字符串:

$text=" one two three";
Run Code Online (Sandbox Code Playgroud)

然后我尝试将其拆分为字母词:

#@words=split(" ", $text);          #1 this works

@words=split("[^a-zA-Z]", $text);   #2 this doesn't work

for $word (@words){
    printf "word: |$word|\n";
}
Run Code Online (Sandbox Code Playgroud)

所以评论方法(1)工作正常.正如所料,我得到印刷:

word: |one|
word: |two|
word: |three|
Run Code Online (Sandbox Code Playgroud)

但是使用第二种方法(2)我得到了这个:

word: ||
word: |one|
word: |two|
word: |three|
Run Code Online (Sandbox Code Playgroud)

因此,虽然逻辑上第二种方法应该等同于第一种方法,但实际上它的行为方式并不相同.这是为什么?

regex string perl split delimiter

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