我一直在用Tkinter和Tix写一个小程序.我正处于需要带有复选框(检查按钮)的树视图的位置,因此我可以从树视图中选择项目.是否有捷径可寻?我一直在看ttk.Treeview(),它看起来很容易得到树视图,但有没有办法在视图中插入一个检查按钮?
一个简单的代码片段将非常感激.
我不仅限于ttk.什么都行; 只要我有一个示例或好的文档,我就可以使它工作
在尝试设计数据库时,我很难理解Max和Min基数之间的区别.
我想禁止从客户端代码访问文件系统,所以我想我可以覆盖open函数
env = {
'open': lambda *a: StringIO("you can't use open")
}
exec(open('user_code.py'), env)
Run Code Online (Sandbox Code Playgroud)
但我得到了这个
unqualified exec is not allowed in function 'my function' it contains a
nested function with free variables
Run Code Online (Sandbox Code Playgroud)
我也试试
def open_exception(*a):
raise Exception("you can't use open")
env = {
'open': open_exception
}
Run Code Online (Sandbox Code Playgroud)
但得到了同样的例外(不是"你不能用开")
我想防止:
执行此:
"""def foo():
return open('some_file').read()
print foo()"""
Run Code Online (Sandbox Code Playgroud)
并评估这一点
"open('some_file').write('some text')"
Run Code Online (Sandbox Code Playgroud)
我还使用session来存储之前评估过的代码,所以我需要阻止执行这个:
"""def foo(s):
return open(s)"""
Run Code Online (Sandbox Code Playgroud)
然后评估这个
"foo('some').write('some text')"
Run Code Online (Sandbox Code Playgroud)
我不能使用正则表达式因为有人可以使用(eval在字符串中)
"eval(\"opxx('some file').write('some text')\".replace('xx', 'en')"
Run Code Online (Sandbox Code Playgroud)
有没有办法阻止访问exec/eval中的文件系统?(我需要两个)
用户,
我有一个关于继承的基本问题(在python中).我有两个类,其中一个继承自另一个类
class p:
def __init__(self,name):
self.pname = name
class c(p):
def __init__(self,name):
self.cname = name
Run Code Online (Sandbox Code Playgroud)
有没有可能我可以创建一个父对象和几个引用SAME父对象的子对象?它应该像父对象包含几个变量那样工作,每当我从子进入相应的变量时,我实际上从父进程访问变量.即如果我为一个孩子更改它,它也会更改为所有其他childes并且数据仅在内存中存储一次(并且不会为每个孩子复制...)
先感谢您.
这是一个可能的解决方法,我不认为这么好
class P:
def __init__(self, name):
self.pname = name
class C:
def __init__(self, name,pobject):
self.pobject = pobject
self.cname = name
Run Code Online (Sandbox Code Playgroud)
这真的是最先进的还是存在其他概念?
塞巴斯蒂安
谢谢大家帮助我,还有名称约定:)但我仍然不是很满意.也许我会举一个更高级的例子来强调我真正想做的事情.
class P:
data = "shareddata"
def __init__(self,newdata):
self.data = newdata
def printname(self):
print self.name
class C(P):
def __init__(self,name):
self.name = name
Run Code Online (Sandbox Code Playgroud)
现在我可以做到以下几点
In [33]: c1 = test.C("name1")
In [34]: c2 = test.C("name2")
In [35]: c1.printname()
name1
In [36]: c2.printname() …Run Code Online (Sandbox Code Playgroud) 我需要以YII形式添加一个文本字段,其中我没有指定任何模型类名.但我需要在控制器类内的action方法中处理该值.
即
我需要添加一个文本字段作为
<div class="row">
<input type="text" name="test" id="test" >
</div>
Run Code Online (Sandbox Code Playgroud)
我添加文本字段为
<?php echo $form->textField($model['groupModel'],'group_name',array('size'=>60,'maxlength'=>128)); ?>
Run Code Online (Sandbox Code Playgroud)
但我不想用新的文本字段指定任何模型名称..提前感谢...
我正在尝试创建一个matlab脚本(m文件),该脚本应由外部VBA脚本控制.
对于一定数量的循环,matlab脚本每次都应该执行相同的操作(即使参数更改,但这不是本例中的问题).如果我看对了,我可以在VBA中使用matlab funktions:http://www.mathworks.de/help/techdoc/matlab_external/f135590.html#f133975
我的主要问题是如何实现这个问题的matlab部分......目前我的控件部分看起来像这样:
start.m:
run = 1;
reset = 0;
while run ~= 0 % Loop until external reset of 'run' to '0'
if reset ~= 0
doReset(); % Reset the parameters for the processing
reset = 0;
disp('I did a reset');
end
disp('I am processing');
doProcess();
pause(1)
end
disp('I am done');
Run Code Online (Sandbox Code Playgroud)
重置部分在通过脚本更改值时非常正常,但是当我手动尝试将"运行"或"重置"的值更改为工作空间中的任何其他值时,没有任何反应...我的脚本不会中止,重置 - 如果它的工作也没有...在我看来,脚本无法识别工作区中的任何变化?!
之后,变量'run'和'reset'将由VBA脚本设置或取消设置.有什么合理的理由让我不能手动中止循环吗?
谢谢你的建议!
迎接,poeschlorn
编辑:
似乎脚本在启动之前加载变量一次,而在运行时期间从不再加载......是否有可能显式访问工作空间变量?
编辑2:
我现在使用Matlab 2010b,没有额外的工具箱
编辑3:
我发现,Matlab中有几个"工作空间"或RAM.如果我的函数正在运行,变量将存储在"base"(?)工作空间中,而不是matlab工作空间,您可以在其中单击并更改每个值.所以我必须访问这个不祥的"基础"空间并将标志"run"更改为零.
在Java Eclipse项目中进行严格的重构时,我经常会破坏构建,但是要集中精力让一次测试通过.在运行测试时,Eclipse警告项目无法编译,但它仍将运行可编译的测试.
现在我正在使用SBT,并希望通过'仅测试'实现相同的功能,但它尝试编译整个项目,失败,并且不运行测试.我怎么能告诉它只是编译它可以运行测试的位.
考虑到Web应用程序的想法(.NET 3.5+)
使用表单进行身份验证将产生类似的代码行
FormsAuthentication.SetAuthCookie(strUsrNm, True)
这在非负载平衡的服务器实例中很好.身份验证如何在负载平衡的stuation(无粘性会话/无限制)中工作,并且您无法在浏览器中存储客户端IP,用户密码或登录.
限制:没有数据库会话,没有AD服务器(例如:迎合外部用户)
简而言之 - 在负载均衡的情况下,如果用户在没有重新进行身份验证的情况下对其他服务器进行身份验证,那么应用程序如何知道用户是谁.
谢谢
我不习惯编写Bash脚本,谷歌没有帮助弄清楚这个脚本有什么问题:
#!/bin/bash
while read myline
do
done
echo "Hello"
while read line
do
done
exit 0
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
./basic.agi: line 4: syntax error near unexpected token 'done'
./basic.agi: line 4: 'done'
Run Code Online (Sandbox Code Playgroud)
我的bash版本是:
GNU bash, version 3.2.25(1)-release (i686-redhat-linux-gnu)
Run Code Online (Sandbox Code Playgroud)
谢谢.
编辑:当while循环不为空时,脚本可以正常工作.
当我在它的时候......我希望当用户输入任何内容时退出循环,即.只需按Enter键,但Bash保持循环.我怎么能退出循环?
while read myline
do
echo ${myline}
done
echo "Hello"
while read line
do
true
done
exit 0
Run Code Online (Sandbox Code Playgroud) 可以使用旧块获取并初始化一个新的,可能更大的块,然后释放旧块.
purpose of that code ; reallocating the old memory area with new size
typeName is Object
Object *oldArray = objects ; // objects is pointer to old data block
objects = new Object[ newCapacity ] ;
for ( int k = 0; k < theSize ; k++ )
objects [k] = oldArray [k] ;
... // some other thing
delete [] oldArray ;
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以有效地完成这项工作吗?