我正在尝试验证多个文本框的输入(即它们应该是一个数字),并在此处找到了有用的代码片段.
但是,如果我有三个文本框(text,moreText和evenMoreText),我如何应用具有相同功能的验证侦听器,而不必重复.addVerifyListener(new VerifyListener() {...三次()代码?
我不想实现switch语句或类似的(决定将它应用于哪个文本框),我想要一些更通用的东西(我可以将其用于将来使用的其他类).
text.addVerifyListener(new VerifyListener() {
@Override
public void verifyText(VerifyEvent e) {
final String oldS = text.getText();
final String newS = oldS.substring(0, e.start) + e.text + oldS.substring(e.end);
try {
BigDecimal bd = new BigDecimal(newS);
// value is decimal
// Test value range
} catch (final NumberFormatException numberFormatException) {
// value is not decimal
e.doit = false;
}
}
});
Run Code Online (Sandbox Code Playgroud) 目前,我使用它来下载文件,但它将它们放在运行它的同一文件夹中,但是如何将下载的文件保存到我选择的另一个目录中.
r = requests.get(url)
with open('file_name.pdf', 'wb') as f:
f.write(r.content)
Run Code Online (Sandbox Code Playgroud) 我在运行“bento/centos-6.7-i386”的 VirtualBox/Vagrant 机器上有一个 Django Web 服务器。我按照本指南创建了一个 Django 项目:https : //docs.djangoproject.com/en/dev/intro/tutorial01/
我有一个 Web 服务器在我的访客机器内运行在http://127.0.0.1:8000/上。这是我第一次运行 Django Web 服务器。它应该是一个 hello world 应用程序。
如何从我的主机浏览器访问此 Web 应用程序?我尝试config.vm.network "private_network", ip: "55.55.55.5"在 vagrant 文件中添加这一行,然后尝试按照python manage.py runserver 0.0.0.0:80其他人之前讨论中解释的解决方案之一运行该命令,但我无法使用 55.55.55.5:8000 从我的主机浏览器访问该站点。
如何从浏览器访问 Web 服务器?
以下给出的是我的流浪文件:
# -- mode: ruby --
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "bento/centos-6.7-i386"
config.vm.network "forwarded_port", guest: 8000, host: 8000
config.vm.network "forwarded_port", guest: 8080, host: 8080
config.vm.network "forwarded_port", guest: 5000, host: 5000 …Run Code Online (Sandbox Code Playgroud) 我需要在运行时设置一个布尔变量,可以被任何其他类访问(无需将变量从类传递给类).此变量将是配置设置,并将取决于用户在运行时设置的某些值.
我怀疑单身是可行的方式,但是早上花了很多时间阅读它,我似乎找到了很多关于创建它们的最佳方法的例子(和参数),而没有提到如何实际使用它们.
单身是解决这个问题的方法吗?
如果是这样,任何人都可以提供一个单例的例子,它可以设置一个布尔值,可以从任何其他类静态访问吗?
编辑:我是一个白痴(完全过于复杂的问题,并错过了最简单的解决方案).
public static volatile boolean yourBoolean; 看起来它会完美运作
继上一篇文章之后,我希望有人可以帮助澄清/确认我对以下java泛型语句的理解,并提供一些输入,说明最终的含义:
如果:
Class<abc> className = x
Run Code Online (Sandbox Code Playgroud)
意味着将x类型赋值abc给 Class变量className
和:
Class<? extends IAbc> className = x
Run Code Online (Sandbox Code Playgroud)
指受让人x,它实现接口IAbc到Class可变className
什么:
Class<? extends IAbc<?>> className = x
Run Code Online (Sandbox Code Playgroud)
意思?
Python 3.5引入了模块中的run()函数subprocess作为新推荐的高级子进程调用方法.
在三个较旧的(自Python 2.5/2.7以来可用)高级API函数中check_call().在Python的3.5文档声称那check_call()
[...]相当于:
Run Code Online (Sandbox Code Playgroud)run(..., check=True)
该文件还警告说,不要通过subprocess.PIPE作为stdout或stderr到check_call():
注意
不要使用
stdout=PIPE或stderr=PIPE使用此功能.子进程将阻塞它是否为管道生成足够的输出以填充OS管道缓冲区,因为没有读取管道.
由于它是"等效的",这个警告是否也适用于run(..., check=True),即应该
subprocess.run(..., stdout=subprocess.PIPE, check=True)
Run Code Online (Sandbox Code Playgroud)
和
subprocess.run(..., stderr=subprocess.PIPE, check=True)
Run Code Online (Sandbox Code Playgroud)
也要避免吗?(文件run()中没有提到这个警告.)
我有一个新闻标题列表,想检查是否有标题包含列表中的任何关键字。
例如
newstitle =['Python is awesome', 'apple is tasty', 'Tom cruise has new movie']
tag = ['Python','Orange', 'android']
Run Code Online (Sandbox Code Playgroud)
tag如果in 中有任何关键字newstitle,我希望它返回True。
我知道如何使用单个标签来做到这一点:
any('Python' in x for x in newstitle)
Run Code Online (Sandbox Code Playgroud)
但是如何使用多个关键字呢?
我已经'继承了'一个Eclipse RCP项目,它似乎可以在基于3.6的目标平台集上运行良好.但是,我们需要更新到平台的最新版本,但是当我将目标平台更改为3.7(或4.2)时,我会遇到一些错误.
Type mismatch: cannot convert from Class<capture#1-of ?> to Class<? extends IDatasetProvider>
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议/解释为什么这可能在3.6中正常工作,但在3.7(及更高版本)中没有?关于我将从哪里开始解决这个问题的任何想法也会很棒!
导致此错误的代码片段(出现在b.loadClass部分):
List<Class<? extends IDatasetProvider>> list = new LinkedList<Class<? extends IDatasetProvider>>();
ClassMap<IDatasetProvider, List<String>> map = new ClassMap<IDatasetProvider, List<String>>();
for (IConfigurationElement e : elements)
{
try
{
Bundle b = Platform.getBundle(e.getContributor().getName());
String viewId = e.getAttribute("viewId");
Class<? extends IDatasetProvider> datasetType = b.loadClass(e
.getAttribute("datasetProvider"));
...
...
...
}
}
Run Code Online (Sandbox Code Playgroud)
还有3个(可能)相关的警告
IDatasetProvider is a raw type. References to generic type IDatasetProvider<T> should be parameterized
Run Code Online (Sandbox Code Playgroud)
如果我改回我们的3.6平台,那一切都会再次运作.
编辑:感谢Alexy和gzukmin的帮助.
我使用了以下代码,特别是强制转换Class<? extends IDatasetProvider>而不仅仅是 …
我正在尝试使用VBA将图片插入到工作表中,以后我可以通过名称引用(例如删除或隐藏).
我可以使用类似下面的代码插入图像:
ActiveSheet.Shapes.AddPicture Filename:="image.jpg", linktofile:=msoFalse, _
savewithdocument:=msoCTrue, Left:=10, Top:=20, width:=100, Height:=50
Run Code Online (Sandbox Code Playgroud)
但是,我正在努力将图片分配给一个形状(或其他对象),以便我可以命名它,然后再引用它.例如
Dim shp As Shape
set shp = ActiveSheet.Shapes.AddPicture Filename:="image.jpg", linktofile:=msoFalse, _
savewithdocument:=msoCTrue, Left:=10, Top:=20, width:=100, Height:=50
shp.name = "myPicture"
... some code ...
ActiveSheet.Shapes("myPicture").Delete ' or similar code to later delete the image
Run Code Online (Sandbox Code Playgroud)
不过,我对得到一个语法错误set shp = ...行
我也试过:Dim shp As Excel.Shape,Dim shp As Object根据SO帖子中的评论:VBA插入嵌入图片excel但仍然得到语法错误.
我哪里错了?
我正在使用一些需要将超类或子类对象发送到方法的代码.
该方法public void repair(Vehicle vehicle)只能访问超类对象中的方法.
public class Vehicle {
//class stuff
}
public class Car extends Vehicle {
//class stuff
}
public static void main(String[] args)
{
// do stuff to determine whether working with a vehicle or car
if (someCondition)
{
Car = new Car();
// do some stuff...
repair(Car);
}
else
{
Vehicle = new Vehicle();
// do some stuff...
repair(Vehicle);
}
}
Run Code Online (Sandbox Code Playgroud)
我想我有三个选择:
repair(Car.getVehicle());- 这感觉好一点Car = new Car(); …java ×5
python ×4
eclipse-rcp ×2
python-3.x ×2
django ×1
excel ×1
excel-vba ×1
generics ×1
inheritance ×1
list ×1
python-3.5 ×1
string ×1
subprocess ×1
substring ×1
swt ×1
text ×1
vagrant ×1
validation ×1
vba ×1