我有一个名为 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__()我一整天都在努力理解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
我在大学学习时主要以C语言编写.我想知道是否有一些简单的开源库可以让我为C中的程序制作GUI.
要优先考虑的事情:
我不知道如何用C++编程,更喜欢保持纯C语言.
我有这个用户名:
// ==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刷新页面,则会显示弹出窗口.
对这种奇怪的行为有一些解释吗?
我知道您可以使用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.
我发现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) 我无法弄清楚如何注册我的项目.我可以在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)
知道发生了什么事吗?我到处寻找,但似乎很少有关于如何解决这些问题的信息.
我有一个函数可以创建一个结构并返回新结构本身。该结构包含一个数字数组和一个显示有多少个数字的整数(这就像一个数组)。所以我有 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) 据我所知,整数在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然后它会打印垃圾,如果变量是一个长整数,则可以预期.但为什么它允许我在一开始就为整数分配一个长整数?
我想使用正则表达式拆分字符串,但我遇到了一些问题.我有这个字符串:
$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)
因此,虽然逻辑上第二种方法应该等同于第一种方法,但实际上它的行为方式并不相同.这是为什么?
c ×3
python ×2
python-2.7 ×2
built-in ×1
cheeseshop ×1
delimiter ×1
dijkstra ×1
distutils ×1
free ×1
function ×1
github ×1
greasemonkey ×1
helper ×1
integer ×1
javascript ×1
linux ×1
long-integer ×1
malloc ×1
onload ×1
open-source ×1
perl ×1
pypi ×1
range ×1
regex ×1
setup.py ×1
split ×1
string ×1
struct ×1
userscripts ×1