小编Ran*_*Rag的帖子

在不同的PC上传输Python设置

我的情况是,我有两个笔记本电脑用fresh installationwindows.现在我使用它们进行编程.

所以,假设我在其中一台笔记本电脑中安装了各种python模块/软件包.那么有没有办法clone在我的另一台笔记本电脑上完成这个完整的python设置.原因是我的互联网连接目前非常慢,所以我不想两次下载相同的模块或包,而是再次安装它们.

我知道我可以下载zip文件中的模块,将它们传输到其他文件而不是运行,python setup.py install但我将pip用于安装模块.

无论如何,我想知道是否可以cloning进行python设置.

python

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

PyOpenGL TypeError:'NoneType'对象不可调用

我努力学习游戏编程的基础知识,我已经安装pygame,并pyopengl为.

mycode的:

import sys
import OpenGL

from OpenGL.GL import *     
from OpenGL.GLU import *    
from OpenGL.GLUT import *

def draw():
      glClear(GL_COLOR_BUFFER_BIT)
      glutWireTeapot(0.5)
      glFlush()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
glutInitWindowSize(250, 250)
glutInitWindowPosition(100, 100)
glutCreateWindow("Python OGL Program")
glutDisplayFunc(draw)
glutMainLoop()

draw()
Run Code Online (Sandbox Code Playgroud)

当我在命令提示符下运行上面的代码时使用

python test.py
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

Traceback (most recent call last):
  File "test.py", line 13, in <module>
    glutInit(sys.argv)
  File "C:\Python27\lib\site-packages\pyopengl-3.0.2a5-py2.7.egg\OpenGL\GLUT\special.py", line 324, in glutInit
    _base_glutInit( ctypes.byref(count), holder )
TypeError: 'NoneType' object is not callable
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我会收到这个错误.我glutinit是以错误的方式打电话的?

我使用的是Python 2.7.2.

python pyopengl

16
推荐指数
4
解决办法
9144
查看次数

Vim错误E510:无法制作备份文件(添加!覆盖)

我在Windows上使用Vim并决定为我backup files创建的所有vim 创建一个单独的目录.

我正在使用Vim command prompt而不使用vim GUI(gVim).

我查看了这篇文章并在我的文章中添加了以下几行_vimrc

set backup
set backupdir = D:\\VimTemp
Run Code Online (Sandbox Code Playgroud)

我已经D:\VimTemp在我的系统上创建了.

现在,每当我尝试使用:w以下错误消息保存对文件的更改时

"PenProperties.py" E510: Can't make backup file (add ! to override)
Run Code Online (Sandbox Code Playgroud)

我已经尝试通过以下方式设置backupdir:

  • set backupdir = D:\\ VimTemp

  • set backupdir ="D:\\ VimTemp"

  • set backupdir ="D:\\ VimTemp \\"

  • set backupdir ="D:\ VimTemp"

现在,我已经在stackoverflow上查看了类似的问题,但问题仍然存在.

所以,我的问题是如何使这项工作正常.

windows vi vim

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

生成特定格式的数字列表

我需要生成特定格式的数字列表.格式是

mylist = [00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15]
#Numbers between 0-9 are preceded by a zero.
Run Code Online (Sandbox Code Playgroud)

我知道如何使用生成正常的数字列表 range

>>> for i in range(0,16):
...     print i
Run Code Online (Sandbox Code Playgroud)

那么,在python中是否有任何内置方法可以生成指定格式的数字列表.

python list python-2.7

15
推荐指数
1
解决办法
1万
查看次数

C#:如何使用套接字执行HTTP请求?

我正在尝试HTTP request使用套接字.我的代码如下:

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class test
{
    public static void Main(String[] args)
    {
        string hostName = "127.0.0.1";
        int hostPort = 9887;
        int response = 0;

        IPAddress host = IPAddress.Parse(hostName);
        IPEndPoint hostep = new IPEndPoint(host, hostPort);
        Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        sock.Connect(hostep);

        string request_url = "http://127.0.0.1/register?id=application/vnd-fullphat.test&title=My%20Test%20App";
        response = sock.Send(Encoding.UTF8.GetBytes(request_url));
        response = sock.Send(Encoding.UTF8.GetBytes("\r\n"));

        bytes = sock.Receive(bytesReceived, bytesReceived.Length, 0);
        page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes);
        Console.WriteLine(page);
        sock.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我执行上面的代码时没有任何反应,而当我进入我request_url的浏览器时,我收到来自Snarl的通知,说 …

c# sockets

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

re.match vs re.search性能差异

我试图比较re.matchre.search使用timeit模块,我发现当我想要找到的字符串位于字符串的开头时,匹配比搜索更好.

>>> s1 = '''
... import re
... re.search(r'hello','helloab'*100000)
... '''
>>> timeit.timeit(stmt=s1,number=10000)
32.12064480781555


>>> s = '''
... import re
... re.match(r'hello','helloab'*100000)
... '''
>>> timeit.timeit(stmt=s,number=10000)
30.9136700630188
Run Code Online (Sandbox Code Playgroud)

现在,我知道匹配在字符串的开头查找模式并返回一个对象(如果找到),但我想知道搜索是如何操作的.

在开头找到字符串后,搜索是否会执行任何额外的匹配,从而减慢它的速度?

更新

在使用@David Robinsons代码后,我得到了他的结果.

>>> print timeit.timeit(stmt="r.match('hello')",
...              setup="import re; s = 'helloab'*100000; r = re.compile('hello')",
...              number = 10000000)
49.9567620754
>>> print timeit.timeit(stmt="r.search('hello')",
...              setup="import re; s = 'helloab'*100000; r = re.compile('hello')",
...             number = 10000000)
35.6694438457
Run Code Online (Sandbox Code Playgroud)

那么,更新后的问题现在为什么search表现不佳match

python regex

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

VIM:如何根据缓冲区类型映射命令?

我知道我的标题不是描述性/清晰的,所以让我解释一下.

昨天我可以穿过,Vimgrep and copen所以我在下面添加了以下内容.vimrc

nnoremap <silent> ,/ :execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR>
Run Code Online (Sandbox Code Playgroud)

它所做的是一个开放quickfix listsearched(highlighted)vim的话.

现在,当您按下Enter<CR>quickfix列表时,它会将您带到主Vim窗口中的相应行.

现在,我遇到的问题是我已经映射了我的<CR喜欢map <CR> o<Esc>,它在当前行的正下方创建了一个新行.

所以,你可以看到两者之间存在冲突.所以,我想要的是想出一个类似的vim函数

伪代码

function IfNotInsideQuickFix()
    if buffer != QuickFix
        then map <CR> o<Esc>
    elif buffer == QuickFix
         Normal behaviour

Call function
Run Code Online (Sandbox Code Playgroud)

这是输出 :buffers

:buffers
  1 #a   "test.cs"                      line 0
  2 %a-  "[Quickfix List]"              line 1
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)

我没有编写vim函数的经验.所以,有人可以指导我.

PS:我知道我可以改变我的Vim映射来创建一个新行,但我想通过Vim函数学习如何做到这一点

windows vim

11
推荐指数
1
解决办法
2400
查看次数

使用urlencode python构建查询字符串

我正在尝试构建一个url,以便我可以使用urllib模块向它发送get请求.

让我们假设我的final_url应该是

url = "www.example.com/find.php?data=http%3A%2F%2Fwww.stackoverflow.com&search=Generate+value"
Run Code Online (Sandbox Code Playgroud)

现在实现这一点我尝试了以下方式:

>>> initial_url = "http://www.stackoverflow.com"
>>> search = "Generate+value"
>>> params = {"data":initial_url,"search":search}
>>> query_string = urllib.urlencode(params)
>>> query_string
'search=Generate%2Bvalue&data=http%3A%2F%2Fwww.stackoverflow.com'
Run Code Online (Sandbox Code Playgroud)

现在,如果你将我query_string的格式与final_url你的格式比较,你可以观察两件事

1)params的顺序是反转而不是data=()&search=search=()&data=

2)urlencode也编码+Generate+value

我相信第一个变化是由于字典的随机行为.所以,我虽然OrderedDict用来反转字典.因为,我正在使用python 2.6.5我做的

pip install ordereddict
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时,我无法在我的代码中使用它

>>> od = OrderedDict((('a', 'first'), ('b', 'second')))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'OrderedDict' is not defined
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是 …

python dictionary urllib

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

Python:在lxml.cssselect中使用的CSS选择器

我试图解析下面给出的html代码使用lxml.html和使用CSSSelector而不是XPath.

link = doc.cssselect('html body div.results dl dt a)
Run Code Online (Sandbox Code Playgroud)

上面的代码给我content-1content-2输出,但我想要的输出是link 1 link 2.所以我用我的代码替换了

link = doc.cssselect('html body div.results dl dt a[href]')
Run Code Online (Sandbox Code Playgroud)

但仍然得到相同的输出.所以我的问题是获取href属性的正确CSS选择器是什么.

             <div class = "results">
                     <div> some tags here </div>
                        <dl> 
                              <dt title = "My Title 1" style = "background: transparent url('/img/accept.png') no-repeat right center">
                              <a href = "/link 1"> content-1</a> 
                              </dt>
                       </dl>

                      <dl>
                             <dt title = "My Title 2" style = "background: transparent url('/img/accept.png') no-repeat right …
Run Code Online (Sandbox Code Playgroud)

css python lxml css-selectors

8
推荐指数
1
解决办法
8580
查看次数

csc.exe引用外部.dll文件

我正在尝试c#使用一个简单的程序Growl C# API.

我尝试用两种不同的方式编译我的程序:

1)我将.dll文件保存在与文件相同的目录中.cs.比我跑

csc /r:Growl.Connector.dll,Growl.CoreLibrary.dll /out:test.exe *.cs
Run Code Online (Sandbox Code Playgroud)

它编译得很好,也运行良好.

2)现在我在当前工作目录中创建了一个名为的目录,growl并保存了我的所有.dll引用.

现在,当我尝试使用以下命令编译它时

csc /r:"D:\Modified\Growl_NET_Connector_SDK\libraries\growl\Growl.Connector.dll","D:
\Modified\Growl_NET_Connector_SDK\libraries\growl\Growl.CoreLibrary.dll" /out:test.exe *.cs
Run Code Online (Sandbox Code Playgroud)

它编译得很好,但是当我试图运行它时,发生了下面提到的异常.

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Growl.Connector, Version=2.0.0.0, Culture=n
eutral, PublicKeyToken=980c2339411be384' or one of its dependencies. The system cannot find the file specified.
 at GrowlNotification.Program.Main(String[] args)
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是当文件在外部文件夹.dllcsc时引用文件的正确方法是什么.

这是第二种情况的目录结构.

c# windows csc

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

标签 统计

python ×6

windows ×3

c# ×2

vim ×2

csc ×1

css ×1

css-selectors ×1

dictionary ×1

list ×1

lxml ×1

pyopengl ×1

python-2.7 ×1

regex ×1

sockets ×1

urllib ×1

vi ×1