小编met*_*bed的帖子

在python中获取安全的用户输入

我正在编写一个脚本,需要用户提供一些非常简单的输入,在对此进行研究时,我陷入了两难境地,试图找出最安全的方法。

我只想要一个整数并偶然发现(我认为是)一段类似于(从内存中执行此操作)的漂亮代码:

def getNumeric(prompt):
  while True:
    response = input(prompt)
    try:
      return int(response)
    except ValueError:
      print "please enter a number:",
Run Code Online (Sandbox Code Playgroud)

这主要是有效的,但如果用户只是按下 [enter] 那么它就会崩溃。事实证明,我使用的是 python < 3,作者为 3+ 写了这个。所以现在我必须重写 2.7 以满足我的需要。但是我如何编写它来满足<3 和 3+ 平台的需求?

我正在写一些可以被其他人使用的东西,并希望让它成为我能做到的最便携的东西。我应该打扰吗?

顺便说一句,我正在为 Raspberry Pi 执行此操作,我应该将我的 python 升级到 3,还是将它留在原处(2.7.3)?

python input raspberry-pi

2
推荐指数
1
解决办法
2935
查看次数

IntelliJ 12 中未识别 Struts2 标签库

我一直在尝试一切让 IntelliJ 允许使用 Struts2 taglib。然而它却一直在抱怨<%@ taglib prefix="s" uri="/struts-tags"%>。IDE 中显示的错误是:

无法解析 uri /struts-tags

截图

我从头开始建立了一个新项目,并包含了 struts2 方面(将 struts.xml 文件添加到 src/META-INF 并将 struts2-core jar 添加到 myApp/lib)。

我的项目设置有什么问题吗?

感谢任何帮助,因为我已经坚持了一天了!

环境:IntelliJ IDEA 12.1.6

struts2 intellij-idea

2
推荐指数
1
解决办法
865
查看次数

基于容器元素在AngularJS指令内自动调整SVG大小

我在一个动态大小的元素中放置一个angular指令.该指令本身由一个SVG组成,该SVG是根据元素大小计算的.我试图使SVG自动调整大小并根据容器的大小重绘.

我最初尝试过这样的事情:

我-directive.js

angular
    .module('myModule')
    .directive('myDirective', function () {
        return {
            templateUri: 'path/to/my-directive-template.html',
            ...
        };
    });
Run Code Online (Sandbox Code Playgroud)

我的指导性,template.html

<svg style="width: 100%; height: 100%; max-width: 100%; max-height: 100%">
    ...
</svg>
Run Code Online (Sandbox Code Playgroud)

请注意该styleSVG元素的属性.这在Chrome中正确调整大小,但无法在Firefox中使用.另外,我仍然没有重新计算SVG内容的钩子.

我也尝试在函数中添加一个onresize处理程序,但是,JQLite 只支持在主窗口上.我无法使用,因为我的窗口大小没有变化.elementlinkonresizewindow.onresize

我试图在这里使用答案:AngularJS - 绑定到指令调整大小,但它们也没有给出所需的结果.


简而言之,这就是我想要做的:

  1. 父元素调整大小时,在指令内调整SVG元素的大小.
  2. 发生这种情况时,通过调用一些处理函数重新计算SVG内容.

我宁愿以项目这一点上添加一个jQuery的依赖性.

javascript css svg cross-browser angularjs

2
推荐指数
1
解决办法
2683
查看次数

仅使用ng-options选择JSON对象的属性名称

我的范围中有一个JSON对象,如下所示:

$scope.props =
{
    'prop1': { 'att': 10 },
    'prop2': { 'att': 20 },
    ...
    'propN': { 'att': 42 }
};
Run Code Online (Sandbox Code Playgroud)

我将此对象绑定到select使用ng-options:

<select ng-options="propName for (propName,propVal) in props"
        ng-model="selectedProp"></select>
Run Code Online (Sandbox Code Playgroud)

选项prop1,prop2等在下拉框中显示出来.当我选择其中一个选项时,propVal存储在selectedProp.

但是,我需要存储实际的属性名称,而不是它的值.我可以完全忽略该值 - 我需要的只是选定的属性名称字符串,例如"prop2".

这在AngularJS中是否可行?

javascript json angularjs ng-options

1
推荐指数
1
解决办法
1537
查看次数