当我意识到我需要(编辑)上面一行的变量定义(或类似的东西)时,我经常发现自己在一条线上打字.我想要的是
我已经设法做到了#1,但是我的emacs-fu还不够强大,无法完成剩下的工作.
鉴于以下json:
{
"README.rst": {
"_status": {
"md5": "952ee56fa6ce36c752117e79cc381df8"
}
},
"docs/conf.py": {
"_status": {
"md5": "6e9c7d805a1d33f0719b14fe28554ab1"
}
}
}
Run Code Online (Sandbox Code Playgroud)
是否有一种查询语言可以产生:
{
"README.rst": "952ee56fa6ce36c752117e79cc381df8",
"docs/conf.py": "6e9c7d805a1d33f0719b14fe28554ab1",
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我对JMESPath(http://jmespath.org/)的最佳尝试并不是非常接近:
>>> jmespath.search('*.*.md5[]', db)
['952ee56fa6ce36c752117e79cc381df8', '6e9c7d805a1d33f0719b14fe28554ab1']
Run Code Online (Sandbox Code Playgroud)
我已经与ObjectPath(http://objectpath.org)达成了同样的观点:
>>> t = Tree(db)
>>> list(t.execute('$..md5'))
['952ee56fa6ce36c752117e79cc381df8', '6e9c7d805a1d33f0719b14fe28554ab1']
Run Code Online (Sandbox Code Playgroud)
我无法理解JSONiq(我真的需要阅读一本105页的手册吗?)这是我第一次看json查询语言.
我有html包含这样的条目:
<div class="entry">
<h3 class="foo">
<a href="http://www.example.com/blog-entry-slug"
rel="bookmark">Blog Entry</a>
</h3>
...
</div>
Run Code Online (Sandbox Code Playgroud)
我想提取文本"博客条目"(和其他一些属性,所以我正在寻找一个通用的答案).
在jQuery中,我会这样做
$('.entry a[rel=bookmark]').text()
Run Code Online (Sandbox Code Playgroud)
我能用Python获得的最接近的是:
from BeautifulSoup import BeautifulSoup
import soupselect as soup
rawsoup = BeautifulSoup(open('fname.html').read())
for entry in rawsoup.findAll('div', 'entry'):
print soup.select(entry, 'a[rel=bookmark]')[0].string.strip()
Run Code Online (Sandbox Code Playgroud)
来自http://code.google.com/p/soupselect/的 soupselect .
Soupselect不理解完整的CSS3选择器语法,但是jQuery也是如此.Python中有这样的野兽吗?
我以前根据其他SO答案使用了以下内容(没有真正理解的需要(也没有工作) prototype.apply.apply
var mylogger = {
log: function () {
if (window.console) {
if (window.console.log) {
Function.prototype.apply.apply(console.log, [console, arguments]);
}
}
},
...
};
Run Code Online (Sandbox Code Playgroud)
虽然这可以防止IE自身崩溃,但它也会使行号报告无法使用(它总是报告该apply.apply..
行.
我正在玩一点,发现以下似乎完全符合我的需要,即阻止IE自身陷入困境并报告mylogger.log(..)
从哪里调用的行号.
var mylogger = {
// function invocation returning a safe logging function..
log: (function () {
if (window.console && window.console.log && Function.prototype.bind) {
return window.console.log.bind(window.console);
} else {
return function () {};
}
}()),
...
};
Run Code Online (Sandbox Code Playgroud)
我已经在IE/FF/Chrome上做了一些基本的测试而没有看到任何问题..这是合理的还是有更好的方法?
我刚刚下载了 Python 3.4,我想知道您将如何查找相对路径的第一个目录?即给出了a/b/c/d
我想打印的路径a
。
我得到的最接近的是:
from pathlib import Path
print(list(Path('a/b/c/d').parents)[-2])
Run Code Online (Sandbox Code Playgroud)
或者
p = Path('a/b/c/d')
print(p.parents[len(p.parents) - 2])
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,这-2
部分都有点神奇。我已经阅读了文档和 PEP,但没有找到更好的方法......我错过了一些明显的东西吗?
我有以下java代码:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SXXX");
String timestamp = simpleDateFormat.format(new Date());
System.out.println(timestamp);
Run Code Online (Sandbox Code Playgroud)
它以以下格式打印日期:
2016-09-20T01:28:03.238+02:00
Run Code Online (Sandbox Code Playgroud)
如何在 Python 中实现相同的格式?
到目前为止我所拥有的非常麻烦......:
import datetime
import pytz
def now_fmt():
oslo = pytz.timezone('Europe/Oslo')
otime = oslo.localize(datetime.datetime.now())
msecs = otime.microsecond
res = otime.strftime('%Y-%m-%dT%H:%M:%S.')
res += str(msecs)[:3]
tz = otime.strftime('%z')
return res + tz[:-2] + ':' + tz[-2:]
Run Code Online (Sandbox Code Playgroud) 背景(为什么Object.update()
或jQuery.extend()
不是解决方案,以及为什么这不是其他如何复制 JavaScript 对象问题的重复):此版本的复制,使用 for 循环
function copy_obj(obj) {
var copy = {};
for (var attr in obj) if (obj.hasOwnProperty(attr)) {
copy[attr] = obj[attr];
}
return copy;
}
Run Code Online (Sandbox Code Playgroud)
只复制属性的值(就像 一样Object.update()
),并且在像这样的对象上失败:
var myobj = {
_fname: 'fname',
_lname: 'lname',
get fullname() { return this._fname + ' ' + this._lname; },
set fullname(v) { this._fname = v; }
};
Run Code Online (Sandbox Code Playgroud)
IE
myobj.fullname === 'fname lname' // true
myobj.fullname = 'Anton'
myobj.fullname === 'Anton lname' // true
Run Code Online (Sandbox Code Playgroud)
尽管
var …
Run Code Online (Sandbox Code Playgroud) 我tesorflow
在 Colaboratory 上练习,我的代码如下。有一些问题,错误消息是
“类型错误:+ 不支持的操作数类型:'map' 和 'float'”
有人可以告诉我出了什么问题吗?谢谢!
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(20)
y = map(lambda x: x + np.random.randn(1), x)
a, b = np.polyfit(x, y, 1)
plt.plot(x, y, 'o', np.arange(20), a*np.arange(20)+b, '-');**
Run Code Online (Sandbox Code Playgroud) 下面的代码:
from ruamel.yaml import YAML
import sys, textwrap
yaml = YAML()
yaml.default_flow_style = False
yaml.dump({
'hello.py': textwrap.dedent("""\
import sys
sys.stdout.write("hello world")
""")
}, sys.stdout)
Run Code Online (Sandbox Code Playgroud)
产生:
hello.py: "import sys\nsys.stdout.write(\"hello world\")\n"
Run Code Online (Sandbox Code Playgroud)
有没有办法让它产生:
hello.py: |
import sys
sys.stdout.write("hello world")
Run Code Online (Sandbox Code Playgroud)
反而?
版本:
python: 2.7.16 on Win10 (1903)
ruamel.ordereddict==0.4.14
ruamel.yaml==0.16.0
ruamel.yaml.clib==0.1.0
Run Code Online (Sandbox Code Playgroud) 我试图为我的 python 应用程序构建一个 docker 容器,但是在通过 pipelinenv 安装 python 包时遇到了问题。
如果我将基础映像设置为python:3.8.5
它可以工作,但是如果我设置一个-slim
或-alpine
多个版本,它们会失败并出现以下错误:
Traceback (most recent call last): File "/usr/local/bin/pipenv",
line 8, in <module>
sys.exit(cli()) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 829, in __call__
return self.main(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 782, in main
rv = self.invoke(ctx) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 610, in invoke
return callback(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py",
line 73, in new_func
return ctx.invoke(f, …
Run Code Online (Sandbox Code Playgroud) python ×7
javascript ×2
python-3.x ×2
alpine-linux ×1
docker ×1
elisp ×1
emacs ×1
java ×1
jquery ×1
json ×1
jsoniq ×1
pipenv ×1
ruamel.yaml ×1
yaml ×1