我正在使用Python的(2.7)argparse工具,并希望按选项自动按字母顺序排序.
默认情况下,帮助条目按照添加顺序进行排序*,如下所示:
p = argparse.ArgumentParser(description='Load duration curves and other plots')
p.add_argument('--first', '-f', type=int, default=1, help='First Hour')
p.add_argument('--dur', '-d', type=int, default=-1, help='Duration in Hours. Use -1 for all')
p.add_argument('--title', '-t', help='Plot Title (for all plots), default=file name')
p.add_argument('--interp', '-i', action="store_true", default=True,
help='Use linear interpolation for smoother curves')
...
args = p.parse_args()
Run Code Online (Sandbox Code Playgroud)
当被称为python script -h产生时:
usage: script.py [-h] [--first FIRST] [--dur DUR] [--title TITLE] [--interp]
Load duration curves and other plots
optional arguments:
-h, --help show this help message and …Run Code Online (Sandbox Code Playgroud) 在一些安装了adblock的网页中,在正文中添加了“overflow:hidden”css样式,防止网站滚动。
\n\n例子:
\n\n<html>\n <head>\n <title>Website</title>\n </head>\n <body style="overflow: hidden;">\n Some long article content\n </body>\n</html>\nRun Code Online (Sandbox Code Playgroud)\n\n我每次都必须在 Chrome Web Inspector 中手动编辑才能删除,这很烦人。
\n\n我想知道我可以永久删除此删除,或者通过 chrome 扩展或 adblock 规则检测以删除它,或者可能通过直接 javascript 等。
\n\n更新:使用 tampermonkey chrome 扩展,也许我可以达到我的目标。我执行了以下脚本,但没有结果(页面似乎重新加载或加载了一些 javascript,并且我无法正确删除隐藏的正文溢出):
\n\n// ==UserScript==\n// @name InvestingRemoveScrollBodyBlocker\n// @namespace http://tampermonkey.net/\n// @version 0.1\n// @description Remove body overflow hidden\n// @author \xc3\x81ngel Guzm\xc3\xa1n Maeso <angel@guzmanmaeso.com>\n// @match https://*.investing.com/*\n// @grant none\n// ==/UserScript==\n\n(function() {\n \'use strict\';\n\n setTimeout(function(){\n\n var bodyWeb = document.getElementsByTagName("BODY")[0];\n console.log(bodyWeb);\n bodyWeb.style.overflow = "visible !important";\n\n }, 4000);\n\n})();\nRun Code Online (Sandbox Code Playgroud)\n javascript css adblock google-chrome-extension google-chrome-devtools
我目前使用Python编写脚本但我希望尝试Ruby有几个原因.我查看了很多示例代码,并在上周阅读了大量文档.我所关注的一点是缺乏适当的命令行参数来解析Ruby中的库.Ruby专家,不要生我的气 - 也许我不知道.这就是我在这里的原因.
在Python中,我习惯使用argparse它在我看来简直是完美的(可能是我的需要).不幸的是,OptionParser不允许灵活性和功能argparse.
我现在特别关注以下约束:
如何制作互斥选项列表?例如,一个名为的程序的非常小的选项列表test.
usage: test [-h] [-a | -b | -c] [-d] [filename]
Run Code Online (Sandbox Code Playgroud)
我可以编写一些代码:
# implement a ----------------------------------------------
opts.on( "-a", "--alpha",
"implement alpha") do
#...
end
Run Code Online (Sandbox Code Playgroud)
等等.但后来,我已经没有办法让a,b并c相互排斥的,除非我那些代码的置换,并做一些错误处理.例如
test -ab #should through an error
Run Code Online (Sandbox Code Playgroud)
在Python中,我可以通过一种非常简单的方式完成此操作:
# create an command line argument parser object
cmd_line_parser = argparse.ArgumentParser()
# create a mutually exclusive group
cmd_line_group = cmd_line_parser.add_mutually_exclusive_group()
Run Code Online (Sandbox Code Playgroud)
其次,除非我专门为这种排列编写代码-d,-a否则我无法配对.疯了吧.
我自己要写[OPTION] …
我有一个带有文本输入的表单:
<form name="form1">
<cfinput type="text" name="text1" id="text1" onChange="someFunc();">
</form>
Run Code Online (Sandbox Code Playgroud)
我只希望它在某些情况下提交.(我先运行一些错误检查)
<script>
function someFunc() {
if (1==2) {
document.form1.submit();
} else {
alert("Not submitting");
}
</script>
Run Code Online (Sandbox Code Playgroud)
问题是:即使警报触发正常,不知何故,表单仍在提交(除了那个之外没有其他提交语句!).
非常感谢,如果有人能够对此有所了解...
我试图在与gtk主线程不同的线程上加载webkit视图.
我看到了示例PyGTK,Threads和WebKit
我稍微修改了支持PyGObject和GTK3:
from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GObject
from gi.repository import GLib
from gi.repository import WebKit
import threading
import time
# Use threads
Gdk.threads_init()
class App(object):
def __init__(self):
window = Gtk.Window()
webView = WebKit.WebView()
window.add(webView)
window.show_all()
#webView.load_uri('http://www.google.com') # Here it works on main thread
self.window = window
self.webView = webView
def run(self):
Gtk.main()
def show_html(self):
print 'show html'
time.sleep(1)
print 'after sleep'
# Update widget in main thread
GLib.idle_add(self.webView.load_uri, 'http://www.google.com') # Here …Run Code Online (Sandbox Code Playgroud) 我目前有一个python文件,利用sys.argv [1]在命令行接受一个字符串.然后,它对该字符串执行操作,然后将修改后的字符串返回到命令行.
我想实现一个批处理模式选项,在其中我可以提供一个字符串文件(每行一个,fwiw)并让它返回到命令行,以便我可以重定向输出做类似的事情
$ python script.py -someflag file.txt > modified.txt
Run Code Online (Sandbox Code Playgroud)
同时仍然保留当前的能力.
我只运行2.6,所以argparse不是一个选项.我看到的教程要么使用argparse,要么使用getopt,要么深入研究过于复杂/不适用的示例.
检查输入并采取适当行动的最佳方法是什么?
我尝试实现在此处描述的Stripe IBAN元素:https : //stripe.com/docs/stripe-js/elements/iban
我使用了完全相同的代码,更改了api密钥,但我不断收到此错误“类型sepa_debit不是有效的源类型。” 但是在他们写的文档中,您必须使用'sepa_debit'作为类型。
信用卡示例对我来说很好。
我试图在输入中展平数组数组,并返回最长的字符串.
例如,给定输入:
i = ['big',[0,1,2,3,4],'tiny']
Run Code Online (Sandbox Code Playgroud)
该函数应返回'tiny'.我想使用reduce或concat以原生和优雅的方式解决这个问题(没有在数组中实现flatten原型)但我没有使用这段代码:
function longestStr(i)
{
// It will be an array like (['big',[0,1,2,3,4],'tiny'])
// and the function should return the longest string in the array
// This should flatten an array of arrays
var r = i.reduce(function(a, b)
{
return a.concat(b);
});
// This should fetch the longest in the flattened array
return r.reduce(function (a, b)
{
return a.length > b.length ? a : b;
}); …Run Code Online (Sandbox Code Playgroud) 如果我的用户使用oauth v2进行云打印以获取凭证,我如何获得至少48小时有效的凭证?
我们需要能够访问打印机,并保留几天.(可以想象,我们可能要求用户每周重新认证一次或两次谷歌,但肯定不会更多.)
如果谷歌云打印不能做到这一点,什么系统可以?(需要跨平台打印,从云端到胜利,osx和linux,还需要能够对本地打印机进行原始打印,而不仅仅是打印驱动程序打印.)
谢谢!
我正在尝试创建具有不同不透明度值的水印(从0不透明值到1完全透明).
我在ruby中有以下RMagick方法:
# 0 = opaque (Magick::OpaqueOpacity) 1= transparent (Magick::TransparentOpacity)
def watermark(opacity = 0.99, size = 'm')
manipulate! do |img|
logo = Magick::Image.read("#{Rails.root}/app/assets/images/watermark#{size}.png").first
logo.alpha(Magick::ActivateAlphaChannel)
logo.opacity = (1 - opacity.to_f) * Magick::QuantumRange
img.alpha(Magick::ActivateAlphaChannel)
img = img.composite(logo, Magick::NorthWestGravity, 0, 0, Magick::OverCompositeOp)
end
end
Run Code Online (Sandbox Code Playgroud)
我的问题是它似乎工作,但复合模式或alpha复合或设置不透明度或alpha失败,因为我在图像中得到黑色透明度.例如,如果我的水印是带有文字的完全透明的图像,我将其放在汽车图像上,那么我会得到一个带有水印的更暗或夜间图像,因此水印的背景不能正确混合.
有没有正确设置水印图像中不透明度的建议?也许有一些解决水印的方法?
编辑:添加图像示例:
http://uppix.com/f-watermarkg53925b100016ab8e.png(水印) http://oi62.tinypic.com/2us8rxl.jpg(基本图像) http://oi60.tinypic.com/2pt6mg3.jpg(组合物)
我想与Symfony和Doctrine建立一个简单的多对多关系.这实际上是一个单向一对多关联,可以通过连接表进行映射,因为文档指示我正在使用YAML文件进行配置,使用以下代码:
在文件Content.orm.yml中:
manyToMany:
comments:
cascade: ["persist","remove"]
onDelete: CASCADE
options:
cascade:
remove: true
persist: true
#refresh: true
#merge: true
#detach: true
orphanRemoval: false
orderBy: null
targetEntity: Comment
joinTable:
name: content_comments
joinColumns:
content_id:
referencedColumnName: id
inverseJoinColumns:
comment_id:
referencedColumnName: id
unique: true
Run Code Online (Sandbox Code Playgroud)
这会产生以下SQL命令:
$ php app/console doctrine:schema:update --dump-sql | grep -i "comment\|content"
CREATE TABLE comment (id INT AUTO_INCREMENT NOT NULL, text LONGTEXT NOT NULL, content_id INT NOT NULL, creation_date DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE …Run Code Online (Sandbox Code Playgroud) javascript ×4
python ×4
argparse ×3
php ×3
arguments ×2
doctrine ×2
optparse ×2
ruby ×2
symfony ×2
access-token ×1
adblock ×1
arrays ×1
caching ×1
css ×1
doctrine-orm ×1
flatten ×1
forms ×1
gtk3 ×1
iban ×1
image ×1
imagemagick ×1
list ×1
mysql ×1
oauth-2.0 ×1
pygobject ×1
pygtk ×1
reduce ×1
rmagick ×1
sorting ×1
submit ×1
token ×1
watermark ×1
webkit ×1