我有一个功能的python模块:
def do_stuff(param1 = 'a'):
if type(param1) == int:
# enter python interpreter here
do_something()
else:
do_something_else()
Run Code Online (Sandbox Code Playgroud)
有没有办法进入命令行解释器,我有评论?所以如果我在python中运行以下内容:
>>> import my_module
>>> do_stuff(1)
Run Code Online (Sandbox Code Playgroud)
我得到了我在评论所在的范围和背景下的下一个提示do_stuff()
?
有没有办法从coffeescript的理解中返回一个对象?这样的东西,我可以表达这个:
form_values = () ->
ret = {}
ret[f.name] = f.value for f in $('input, textarea, select')
return ret
Run Code Online (Sandbox Code Playgroud)
像这样:
form_values = () -> f.name, f.value for f in $('input, textarea, select')
Run Code Online (Sandbox Code Playgroud)
我想构造一个对象(不是一个对象数组).所以如果标记看起来像这样:
<form name=blah>
<input type=text name=blah1 value=111 />
<textarea name=blah2>222</textarea>
<select name=blah3>
<option value=333a>
<option value=333b>
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
返回的对象将是这样的:
{
blah1: '111',
blah2: '222',
blah3: ''
}
Run Code Online (Sandbox Code Playgroud) 有没有一种简单的方法可以关闭Django开发服务器中的静态文件缓存?
我正在使用标准命令启动服务器:
$ python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
我已经settings.py
配置为从/static
我的Django项目目录中提供静态文件.我还有一个中间件类,它将Cache-Control
头设置must-revalidate, no-cache
为开发,但这似乎只会影响不在我的/static
目录中的URL .
我正在http
向node.js
客户提出请求,但我收到了ECONNREFUSED
错误消息.当我使用我的浏览器制作看似相同的请求时curl(1)
,它的工作正常
这是节点请求:
var options = {
host: 'localhost',
port: 8080,
path: '/explorers/1.0/agegroup',
method: 'GET'
};
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});
req.on('error', function(e) {
console.log(e);
});
req.end();
Run Code Online (Sandbox Code Playgroud)
它给了我错误:
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect' }
Run Code Online (Sandbox Code Playgroud)
但是当我与不同的客户端(curl
在这种情况下)做出相同的请求时:
$ curl http://localhost:8080/explorers/1.0/agegroup
{... response JSON ...}
Run Code Online (Sandbox Code Playgroud)
其他说明:
我已尝试将主机更改为www.google.com,将端口更改为80,并且节点成功建立连接
我已经尝试更改服务器的端口,我仍然可以向所有客户端发出请求但node.js(仍然可以ECONNREFUSED
)
我正在连接的服务器是CherryPy WSGI服务器.当我尝试连接到node
localhost:8080 的服务器时,它运行正常,这会让我认为这是服务器的问题,除了其他客户端使用CherryPy服务器. …
我正在阅读SICP,我正在mit-scheme
通过自制软件安装在我的os x 10.8笔记本电脑上.
一切都像宣传的那样工作,但是我很容易被REPL的标签完成和命令行历史记录所破坏,如Python和Node.js这样的运行时.
我不是在寻找任何重要的东西,但是这些功能在现代REPL中很容易实现(它只是一个简单的 Python 启动文件,可以在Node.js中用几行实现).
有没有一种简单的方法可以在没有重型应用程序或必须切换到emacs(即在xterm终端)中的mit-scheme REPL中获取选项卡完成和命令历史记录?
我想过滤掉文件中匹配行之前和之后的几行.
这将删除我不想要的行:
$ grep -v "line that i don't want"
Run Code Online (Sandbox Code Playgroud)
这将在我不想要的行之前和之后打印2行:
$ grep -C 2 "line that i don't want"
Run Code Online (Sandbox Code Playgroud)
但是当我将它们组合起来时,它不会过滤掉我不想要的行之前和之后的2行:
# does not remove 2 lines before and after the line I don't want:
$ grep -v -C 2 "line that i don't want"
Run Code Online (Sandbox Code Playgroud)
如何不仅过滤掉我不想要的线,还要过滤掉之前和之后的线?我猜sed
这会更好......
编辑:我知道这可以在几行awk/Perl/Python/Ruby /等中完成,但我想知道是否有一个简洁的单行程序,我可以从命令行运行.
如何向对象中的Ctrl-C
多个ssh -t
进程发送Popen()
?
我有一些Python代码可以启动远程主机上的脚本:
# kickoff.py
# i call 'ssh' w/ the '-t' flag so that when i press 'ctrl-c', it get's
# sent to the script on the remote host. otherwise 'ctrol-c' would just
# kill things on this end, and the script would still be running on the
# remote server
a = subprocess.Popen(['ssh', '-t', 'remote-host', './script.sh', 'a'])
a.communicate()
Run Code Online (Sandbox Code Playgroud)
这很好用,但我需要启动远程主机上的多个脚本:
# kickoff.py
a = subprocess.Popen(['ssh', '-t', 'remote-host', './script.sh', 'a'])
b = subprocess.Popen(['ssh', '-t', …
Run Code Online (Sandbox Code Playgroud) 我有一个std :: string包含一个用execv执行的命令,什么是最好的"C++"方法将它转换为execv()的第二个参数所需的"char*argv []"?
澄清:
std::string cmd = "mycommand arg1 arg2";
char *cmd_argv[];
StrToArgv(cmd, cmd_argv); // how do I write this function?
execv(cmd_argv[0], cmd_argv);
Run Code Online (Sandbox Code Playgroud) 我想以编程方式记录我的笔记本电脑中出现的声音.我发现PyAudio
并想出了以下完成任务的程序:
import pyaudio, wave, sys
chunk = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = sys.argv[1]
p = pyaudio.PyAudio()
channel_map = (0, 1)
stream_info = pyaudio.PaMacCoreStreamInfo(
flags = pyaudio.PaMacCoreStreamInfo.paMacCorePlayNice,
channel_map = channel_map)
stream = p.open(format = FORMAT,
rate = RATE,
input = True,
input_host_api_specific_stream_info = stream_info,
channels = CHANNELS)
all = []
for i in range(0, RATE / chunk * RECORD_SECONDS):
data = stream.read(chunk)
all.append(data)
stream.close()
p.terminate()
data = ''.join(all)
wf …
Run Code Online (Sandbox Code Playgroud) 如何写入subprocess.Popen对象的文件描述符3?
我正在尝试使用Python完成以下shell命令中的重定向(不使用命名管道):
$ gpg --passphrase-fd 3 -c 3<passphrase.txt < filename.txt > filename.gpg
Run Code Online (Sandbox Code Playgroud)