我正在尝试使用Java应用程序中的H2数据库.
我通过H2控制台创建了数据库及其表,然后尝试使用Java连接
Connection con = DriverManager.getConnection("jdbc:h2:~/dbname", "username", "password");
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
线程"main"中的异常org.h2.jdbc.JdbcSQLException:数据库可能已在使用中:"被另一个进程锁定".可能的解决方案:关闭所有其他连接; 使用服务器模式[90020-161]
我试图删除该dbname.lock.db
文件,但它会自动重新创建.
如何解锁数据库以从我的Java程序中使用它?
我写了一个访问MySQL innodb数据库的java程序.
每当INSERT IGNORE语句遇到重复条目时,Auto Increment主键就会递增.
这种行为是预期的吗?我认为IGNORE不应该发生这种情况.这意味着IGNORE实际上会产生额外的开销来写入新的主键值.
表格如下:
CREATE TABLE `tablename` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`rowname` varchar(50) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `rowname` (`rowname`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)
谢谢!
我创建了一个带有Pandas的条形图,其中我展示了一些国家的数量变化,并根据每个国家的大陆设置了条形颜色.我使用以下代码绘制图形.该代码基于此问题的第二个回复:
s = pd.Series(
listOfQuantities,
listOfCountiesNames
)
''' Assign color to each country based on the continent '''
colormapping = {'AF':'k','AS':'r','EU':'g','OC':'r','NA':'b','SA':'y'}
colorstring = ""
for country in listOfCountiesNames:
continent = countryToContinent[country]
colorstring += colormapping[continent]
pd.Series.plot(
s,
kind='bar',
color=colorstring,
grid=False,
)
Run Code Online (Sandbox Code Playgroud)
我想创建一个类似于我在附加图像中显示的图例(图例不是由python生成的,我手动添加).是否可以用熊猫绘制这样的自定义图例,还是可以实现与其他图形库类似的东西?此外,我也很欣赏有关此类数据的替代绘图类型的建议.
我正在运行许多运行Python代码的Google Compute Engine实例,我想从实例中找到每个实例的名称或ID.
我发现的一个解决方案是使用以下方法获取实例的内部IP:
import socket
internal_ip = socket.gethostbyname(socket.gethostname())
Run Code Online (Sandbox Code Playgroud)
然后我列出所有实例:
from oauth2client.client import GoogleCredentials
from googleapiclient.discovery import build
credentials = GoogleCredentials.get_application_default()
self.compute = build('compute', 'v1', credentials=credentials)
result = self.compute.instances().list(project=project, zone=zone).execute()
Run Code Online (Sandbox Code Playgroud)
然后我遍历所有实例以检查内部IP是否与实例的IP匹配:
for instance in result["items"]:
if instance["networkInterfaces"][0]["networkIP"] == internal_ip:
internal_id = instance["id"]
Run Code Online (Sandbox Code Playgroud)
这有效但有点复杂,是否有更直接的方法来实现同样的事情,例如使用Google的Python客户端库或gcloud命令行工具?
我正在尝试使用Stream API使用以下代码获取S3对象的文件大小:
try{
$fileSize = filesize("s3://".$bucket."/".$filename);
}catch(Aws\S3\Exception\NoSuchKeyException $e) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
如果密钥不存在,我会收到以下错误:
[Tue Oct 13 23:03:32 2015] [错误] [客户端54.225.205.152] PHP警告:找不到文件或目录:/ var/www/vendor/aws/aws-中的s3://mybucket/myfile.jpg第774行的sdk-php/src/Aws/S3/StreamWrapper.php
[Tue Oct 13 23:03:32 2015] [错误] [客户端54.225.205.152] PHP警告:filesize():对于/ var/www/api-dev/awsFunc中的s3://mybucket/myfile.jpg,stat失败第278行.php
[Tue Oct 13 23:03:32 2015] [错误] [client 54.225.205.152] PHP致命错误:未捕获的Aws\S3\Exception\NoSuchKeyException:AWS错误代码:NoSuchKey,状态代码:404,AWS请求ID:4A6F1372301D02F7, AWS错误类型:客户端,AWS错误消息:指定的密钥不存在.,User-Agent:aws-sdk-php2/2.8.21 Guzzle/3.9.3 curl/7.22.0 PHP/5.3.10-1ubuntu3.19 \n在第91行的/var/www/vendor/aws/aws-sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php中抛出
所以,虽然我明确地尝试捕获Aws\S3\Exception\NoSuchKeyException,但系统仍会抛出它.
更新:
我发现了错误.命名空间应该以'\'而不是Aws开头,例如:
try{
$fileSize = filesize("s3://".$bucket."/".$filename);
}catch(\Aws\S3\Exception\NoSuchKeyException $e) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么当我use
命名空间时,命名空间不以'\'开头,但在异常中它需要它.我希望有人解释一下.
我使用pdb
该函数来调试包含硬编码断点的 Python 2.7 脚本pdb.set_trace()
。当我想运行脚本而不在断点处停止时,我必须注释掉所有行pdg.set_trace()
,然后当我想在断点处停止时,我必须删除注释,这是非常低效的。有没有办法(例如命令行标志)来执行 python 脚本,忽略所有硬编码断点。例如,许多像 PyCharm 这样的 IDE 都有忽略断点的运行模式和在断点处停止的调试模式。我可以从命令行做类似的事情吗?
我有一个非常简单的Hello World java程序,它只使用System.out.println
以下命令打印一行:
package test;
public class Main {
public static void main(String[] args) {
System.out.println("Start");
}
}
Run Code Online (Sandbox Code Playgroud)
当我在Windows终端或本机Linux终端中执行此代码时,它工作正常,当我尝试在Windows子系统Linux(WSL)的Ubuntu bash中执行它时,它没有显示任何内容.如果相反我用System.err.println
它打印线.我没有Python的类似问题.
我的java版本是:
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
Run Code Online (Sandbox Code Playgroud) 我试图在面积图上遵循这个ggplot2 教程(不幸的是,它没有评论来问我的问题),但由于某种原因,我的输出与作者的输出不同。我执行以下代码:
library(ggplot2)
charts.data <- read.csv("copper-data-for-tutorial.csv")
p1 <- ggplot() + geom_area(aes(y = export, x = year, fill = product), data = charts.data, stat="identity")
Run Code Online (Sandbox Code Playgroud)
数据集如下:
> charts.data
product year export percentage sum
1 copper 2006 4176 79 5255
2 copper 2007 8560 81 10505
3 copper 2008 6473 76 8519
4 copper 2009 10465 80 13027
5 copper 2010 14977 86 17325
6 copper 2011 15421 83 18629
7 copper 2012 14805 82 18079
8 copper 2013 …
Run Code Online (Sandbox Code Playgroud) 有没有办法在请求实例之前获取实例类型(例如 t3.medium)可用的可用区?我正在尝试运行以下代码,但对于某些区域,它会因以下错误而失败:
Error: Error launching source instance: Unsupported: Your requested instance type (t3.micro) is not supported in your requested Availability Zone (us-east-1e). Please retry your request by not specifying an Availability Zone or choosing us-east-1a, us-east-1b, us-east-1c, us-east-1d, us-east-1f.
Run Code Online (Sandbox Code Playgroud)
显然,我可以手动将可用区域指定为受支持的区域之一,但我想最小化硬编码可用区域。
amazon-ec2 amazon-web-services terraform terraform-provider-aws
我正在尝试绘制带有拟合虚线的散点图。
plt.scatter(x, y, s=z, alpha=0.5)
m, b = np.polyfit(x, y, 1)
y = [(m*i) + b for i in x]
plt.plot(x, y,':' )
Run Code Online (Sandbox Code Playgroud)
我附上结果。我的问题是,整条线的长度并没有出现,只有末端出现。我尝试将其更改为虚线,但又遇到了同样的问题。是图片分辨率的问题吗?
plot ×3
python ×3
java ×2
matplotlib ×2
amazon-ec2 ×1
amazon-s3 ×1
command-line ×1
database ×1
debugging ×1
ggplot2 ×1
h2 ×1
mysql ×1
pandas ×1
pdb ×1
php ×1
python-2.7 ×1
r ×1
stderr ×1
stdout ×1
terraform ×1
ubuntu-14.04 ×1