我经常从Visual Studio向Vim发送文件.我将它设置为具有以下参数的外部工具:
"+call cursor($(CurLine), $(CurCol))"
Run Code Online (Sandbox Code Playgroud)
但是,我也希望能够调用自己的函数.当我从VS编辑文件时,我希望窗口很大,所以我希望能够做到这样的事情:
"+call cursor($(CurLine), $(CurCol)); +call Embiggen()"
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.我尝试了一些变化(例如, call Embiggen(),等等).
显然我可以编写自己的PlaceCursorAndEmbiggen函数,但我真的不想这样做.有没有办法在Vim启动时调用多个函数?
我已经能够找到许多在另一个方向上工作的东西,但到目前为止我没有太多运气.
我希望能够read从命令行进入新的缓冲区.我希望有类似的东西:
:r!tac % | new
Run Code Online (Sandbox Code Playgroud)
并且新缓冲区将包含输出 tac %
有没有合理的方法来做到这一点?
我无法通过典型渠道找到该问题的答案。
在Python中,我可以具有以下函数定义
def do_the_needful(**kwargs):
# Kwargs is now a dictionary
# i.e. do_the_needful(spam=42, snake='like eggs', spanish='inquisition')
# would produce {'spam': 42, 'snake': 'like eggs', 'spanish': 'inquisition' }
Run Code Online (Sandbox Code Playgroud)
我知道.NET具有ParamArray,它会产生一系列未命名的参数,类似于*argsPython中的语法... .NET是否具有等价的名称**kwargs或类似的名称?
在Tornado的聊天演示中,它有一个这样的方法:
@tornado.web.asynchronous
def post(self):
cursor = self.get_argument("cursor", None)
global_message_buffer.wait_for_messages(self.on_new_messages,
cursor=cursor)
Run Code Online (Sandbox Code Playgroud)
我对这个长时间的轮询很新,我并不完全理解线程的工作原理,尽管它表明:
通过使用非阻塞网络I/O,Tornado可以扩展到数万个开放连接......
我的理论是通过制作一个简单的应用程序:
import tornado.ioloop
import tornado.web
import time
class MainHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
def get(self):
print("Start request")
time.sleep(4)
print("Okay done now")
self.write("Howdy howdy howdy")
self.finish()
application = tornado.web.Application([
(r'/', MainHandler),
])
Run Code Online (Sandbox Code Playgroud)
如果我连续发出两个请求(即我打开两个浏览器窗口并快速刷新两个),我会看到:
Start request
Start request
Okay done now
Okay done now
Run Code Online (Sandbox Code Playgroud)
相反,我明白了
Start request
Okay done now
Start request
Okay done now
Run Code Online (Sandbox Code Playgroud)
这让我相信它在这种情况下实际上是阻塞的.为什么我的代码是阻塞的,我如何获得一些代码来做我期望的呢?我在Windows 7上使用核心i7获得相同的输出,并且我认为有两个核心的Linux Mint 13盒子.
我找到了一种方法 - 如果有人能提供一种跨平台工作的方法(我不太担心性能,只是它是非阻塞的),我会接受这个答案.
import asyncio
class EchoServer(asyncio.Protocol):
def connection_made(self, transport):
peername = transport.get_extra_info('peername')
print('connection from {}'.format(peername))
self.transport = transport
def data_received(self, data):
self.transport.write(data)
# Client piece goes here
loop = asyncio.get_event_loop()
coro = loop.create_server(EchoServer, '127.0.0.1', 8888)
server = loop.run_until_complete(coro)
print('serving on {}'.format(server.sockets[0].getsockname()))
try:
loop.run_forever()
except KeyboardInterrupt:
print("exit")
finally:
server.close()
loop.close()
Run Code Online (Sandbox Code Playgroud)
我正在尝试做的是添加一个客户端部分,我评论说它将连接到一台新服务器并从该方式发送数据.有echo客户端,但我需要一个如下所示的进程:
+-----------+ +-----------+ +--------------+
| My Server | | My Client | | Other Server |
+-----------+ +-----------+ +--------------+
| | |
===>Get some data | |
| | …Run Code Online (Sandbox Code Playgroud) 我有一个信息表,但不是典型的表格,标题是顶部:
Foo | Fnord | Fizzy | Buzz
----|-------|-------|-----------------
42| Yes | No | Mr. mann
13| Yes | Flarg | Colonel Mustard
1| Plum | No | Ms. Scarlet
Run Code Online (Sandbox Code Playgroud)
我想把它放在一边:
Foo | 42 | 13 | 1
Fnord | Yes | Yes | Plum
Fizzy | No | Flarg | No
Buzz | Mr. Mann | Colonel Mustard | Ms. Scarlet
Run Code Online (Sandbox Code Playgroud)
通过做类似的事情显然是允许的
<table>
<tr><th>Heading 1</th><td>Data 1</td></tr>
<tr><th>Heading 2</th><td>Data 2</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
所以我打算继续这样做,但我确实想检查它是否在语义或其他方面有任何中断.这是做我想要的正确方法吗?
使用词典时如何避免以下情况
a={'b':1}
c=a
c.update({'b':2})
print a # {'b':2}
print c # {'b':2}
Run Code Online (Sandbox Code Playgroud) 我的目录中有jt400.jar:
/path
/jt400.jar
/Test.java
Run Code Online (Sandbox Code Playgroud)
Test.java的内容:
import java.sql.*;
//import com.ibm.as400.*; // To be uncommented later
public class Test {
public static void main(String[] args) throws Exception {
String url = "jdbc:as400//myserver.domain.com;DSN=DB2;Uid=name;Pwd=password;";
Connection conn = DriverManager.getConnection(url);
}
}
Run Code Online (Sandbox Code Playgroud)
我编译这个:
$ javac -cp jt400.jar Test.java
Run Code Online (Sandbox Code Playgroud)
并尝试运行:
$ java -cp jt400.jar Test.java
Run Code Online (Sandbox Code Playgroud)
哪个产生:
Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:as400://myserver.domain.com;DSN=DB2;Uid=name;Pwd=password;
at java.sql.DriverManager.getConnection(DriverManager.java:635)
at java.sql.DriverManager.getConnection(DriverManager.java:213)
at Killer.main(Test.java:8)
Run Code Online (Sandbox Code Playgroud)
现在,在jt400.jar里面我已经验证:
$ jar -tf jt400.jar | grep class | grep AS400 | …Run Code Online (Sandbox Code Playgroud) 我正在使用"Lightweight Django"这本书学习Django.我正在使用Django 1.8.但是,我无法运行此代码.这是错误消息:
工作树:
build.py
import os
import shutil
from django.conf import settings
from django.core.management import call_command
from django.core.management.base import BaseCommand
from django.core.urlresolvers import reverse
from django.test.client import Client
def get_pages():
for name in os.listdir(settings.SITE_PAGES_DIRECTORY):
if name.endswith('.html'):
yield name[:-5]
class Command(BaseCommand):
help = 'Build static site output.'
leave_locale_alone = True
def handle(self, *args, **options):
if os.path.exists(settings.SITE_OUTPUT_DIRECTORY):
shutil.rmtree(settings.SITE_OUTPUT_DIRECTORY)
os.mkdir(settings.SITE_OUTPUT_DIRECTORY)
os.makedirs(settings.STATIC_ROOT, exists_ok=True)
call_command('collectstatic', interactive=False, clear=True,verbosity=0)
client = Client()
for page in get_pages():
url = reverse('page', kwargs={'slug': page})
response = client.get(url)
if page …Run Code Online (Sandbox Code Playgroud) 我有一个家庭作业。我有以下代码
hey = ["lol", "hey","water","pepsi","jam"]
for item in hey:
print(item)
Run Code Online (Sandbox Code Playgroud)
我是否在项目之前显示列表中的位置,如下所示:
1 lol
2 hey
3 water
4 pepsi
5 jam
Run Code Online (Sandbox Code Playgroud) python ×6
asynchronous ×2
vim ×2
.net ×1
django ×1
equivalent ×1
html ×1
html-table ×1
java ×1
jdbc ×1
list ×1
pipe ×1
position ×1
python-3.x ×1
tornado ×1