我的情况是,我有两个笔记本电脑用fresh installation的windows.现在我使用它们进行编程.
所以,假设我在其中一台笔记本电脑中安装了各种python模块/软件包.那么有没有办法clone在我的另一台笔记本电脑上完成这个完整的python设置.原因是我的互联网连接目前非常慢,所以我不想两次下载相同的模块或包,而是再次安装它们.
我知道我可以下载zip文件中的模块,将它们传输到其他文件而不是运行,python setup.py install但我将pip用于安装模块.
无论如何,我想知道是否可以cloning进行python设置.
我努力学习游戏编程的基础知识,我已经安装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.
我在Windows上使用Vim并决定为我backup files创建的所有vim 创建一个单独的目录.
我正在使用Vim command prompt而不使用vim GUI(gVim).
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上查看了类似的问题,但问题仍然存在.
所以,我的问题是如何使这项工作正常.
我需要生成特定格式的数字列表.格式是
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中是否有任何内置方法可以生成指定格式的数字列表.
我正在尝试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的通知,说 …
我试图比较re.match和re.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?
我知道我的标题不是描述性/清晰的,所以让我解释一下.
昨天我可以穿过,Vimgrep and copen所以我在下面添加了以下内容.vimrc
nnoremap <silent> ,/ :execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR>
Run Code Online (Sandbox Code Playgroud)
它所做的是一个开放quickfix list的searched(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函数学习如何做到这一点
我正在尝试构建一个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)
所以,我的问题是 …
我试图解析下面给出的html代码使用lxml.html和使用CSSSelector而不是XPath.
link = doc.cssselect('html body div.results dl dt a)
Run Code Online (Sandbox Code Playgroud)
上面的代码给我content-1和content-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) 我正在尝试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)
所以,我的问题是当文件在外部文件夹.dll中csc时引用文件的正确方法是什么.
这是第二种情况的目录结构.