受到现在删除的问题的启发; 给定一个带有命名组的正则表达式,是否有一个方法findall可以返回一个dict包含命名捕获组而不是列表的列表tuple?
鉴于:
>>> import re
>>> text = "bob sue jon richard harry"
>>> pat = re.compile('(?P<name>[a-z]+)\s+(?P<name2>[a-z]+)')
>>> pat.findall(text)
[('bob', 'sue'), ('jon', 'richard')]
Run Code Online (Sandbox Code Playgroud)
应该给:
[{'name': 'bob', 'name2': 'sue'}, {'name': 'jon', 'name2': 'richard'}]
Run Code Online (Sandbox Code Playgroud) 我有一个关于Spring注释配置的问题.我有一个豆子:
@Bean
public ObservationWebSocketClient observationWebSocketClient(){
log.info("creating web socket connection...");
return new ObservationWebSocketClient();
}
Run Code Online (Sandbox Code Playgroud)
我有一个属性文件:
@Autowired
Environment env;
Run Code Online (Sandbox Code Playgroud)
在属性文件中,我想要一个特殊的布尔属性
createWebsocket=true/false
Run Code Online (Sandbox Code Playgroud)
这标志是否应该创建bean ObservationWebSocketClient.如果属性值为false,我根本不想建立Web套接字连接.
是否有任何技术可能性来实现这一点?
在postgres中,您可以查询组中的第一个值DISTINCT ON.如何在Oracle中实现这一目标?
来自postgres手册:
SELECT DISTINCT ON(expression [,...])仅保留给定表达式求值的每组行的第一行.使用与ORDER BY相同的规则解释DISTINCT ON表达式(参见上文).请注意,除非使用ORDER BY确保首先显示所需的行,否则每个集合的"第一行"都是不可预测的.
例如,对于给定的表:
col1 | col2
------+------
A | AB
A | AD
A | BC
B | AN
B | BA
C | AC
C | CC
Run Code Online (Sandbox Code Playgroud)
升序排序:
> select distinct on(col1) col1, col2 from tmp order by col1, col2 asc;
col1 | col2
------+------
A | AB
B | AN
C | AC
Run Code Online (Sandbox Code Playgroud)
降序排序:
> select distinct on(col1) col1, col2 from tmp order by col1, col2 desc; …Run Code Online (Sandbox Code Playgroud) 我不能让Spring的JSON支持工作.在我的spring-servlet.xml文件中,我包含以下行:
<mvc:annotation-driven/>
<context:component-scan base-package="my.packagename.here" />
<context:annotation-config />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
<bean id="jacksonMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
Run Code Online (Sandbox Code Playgroud)
我还下载了jackson库并将它们添加到我的eclipse项目以及WEB-INF/lib文件夹中.使用jQuery getJSON方法向控制器发送请求时,我收到以下错误:
javax.servlet.ServletException: Servlet.init() for servlet dispatcher threw exception
java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonProcessingException
java.lang.ClassNotFoundException: org.codehaus.jackson.JsonProcessingException
Run Code Online (Sandbox Code Playgroud)
你认为这是什么问题.我猜这与我的spring-servlet.xml文件有关.如果需要,我可以粘贴整个错误日志.
我有两个以下列方式注释的实体类
@Entity
class A {
@ManyToMany(mappedBy="A", cascade=CascadeType.ALL)
private List<B> b;
..
}
@Entity
class B {
@ManyToMany(cascade=CascadeType.ALL)
private List<A> a;
..
}
Run Code Online (Sandbox Code Playgroud)
如果我存储类'B'的实例,则关系存储在数据库中,类'A'中的getter将返回B的正确子集.但是,如果我更改"A"中的B列表,更改不会存储在数据库中?
我的问题是,我怎样才能使这两个类中的变化"级联"到另一个类?
编辑:我尝试了删除mappedBy参数和定义JoinTable(和列)的不同变体,但我一直无法找到正确的组合.
我正在尝试使用没有persistence.xml的JPA EntityManagerFactory引导,这是Spring 3.1中的新功能(从M2开始),但是看起来spring仍在搜索persistence.xml文件,尽管packagesToScan指定了这个事实.
在context.xml中,entityManagerFactory因此配置:
<bean id="my-persistence-unit"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="persistenceProviderClass"
value="org.hibernate.ejb.HibernatePersistence"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
</props>
</property>
<property name="packagesToScan">
<list>
<value>my.package.name</value>
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
但是在应用程序启动时,会出现PersistenceException"无法解析持久性单元根URL"消息:
...
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'my-persistence-unit' defined in class path resource [META-INF/context.xml]:
...
Caused by: javax.persistence.PersistenceException: Unable to resolve persistence unit root URL
at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl(DefaultPersistenceUnitManager.java:429)
at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.preparePersistenceUnitInfos(DefaultPersistenceUnitManager.java:327)
at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet(DefaultPersistenceUnitManager.java:309)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:209)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1504) …Run Code Online (Sandbox Code Playgroud) 在我的配置设置中出现问题或者可能是依赖冲突或缺少依赖性,我的头撞墙几个小时无法解决这个问题.有什么想法吗?
相关依赖:
Spring Data Commons Core 1.2.0
Spring Data JPA 1.8.0
Hibernate Core 5.0
Hibernate JPA 2.1
Run Code Online (Sandbox Code Playgroud)
Eclipse中的错误消息:
Configuration problem: Failed to import bean definitions from relative location [SpringDbContext.xml] Offending resource: class path resource [SpringAppContext.xml]; nested exception is
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 43 in XML document from class path resource [SpringDbContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; systemId:
http://www.springframework.org/schema/data/jpa/spring-jpa-1.8.xsd; lineNumber: 43; columnNumber: 63; src-resolve: Cannot resolve the name 'repository:auditing-attributes' to a(n) 'attribute group' component.at
org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:70)
Run Code Online (Sandbox Code Playgroud)
SpringAppContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" …Run Code Online (Sandbox Code Playgroud) 我想使用MathJax来显示MathML方程式,但它在IE中的性能慢得令人无法接受(是的,我读到了使用EmulateIE7,这也是不可接受的,因为它会破坏网站的其他区域).
我不需要支持用户生成的方程式,并且我的大部分数据都是XML格式,因此对HTML进行XSL转换似乎是最兼容的解决方案.
理想情况下,HTML与MathJax的HTML类似/完全相同.显示图像代替整个等式是一个糟糕的解决方案,因为要求IE用户安装MathPlayer.
我希望我写的题目是正确的,因为我不知道如何准确地解释它.考虑下面的代码:
lines = cv2.HoughLines(edges,1,np.pi/180,200)
for rho,theta in lines[0]:
a = np.cos(theta)
b = np.sin(theta)
x0 = a*rho
y0 = b*rho
x1 = int(x0 + 1000*(-b))
y1 = int(y0 + 1000*(a))
x2 = int(x0 - 1000*(-b))
y2 = int(y0 - 1000*(a))
cv2.line(img,(x1,y1),(x2,y2),(0,0,255),2)
Run Code Online (Sandbox Code Playgroud)
为什么要写for rho,theta in lines[0]:?通过这种代码,我只能获得一行.我试图删除索引,lines但我得到了ValueError: need more than 1 value to unpack.我试图打印返回的值,它看起来像这样:
[[[ 287. 1.97222209]]
[[ 885. 1.20427716]]
[[ 881. 1.22173047]]]
Run Code Online (Sandbox Code Playgroud)
我有点解决了这个问题,我的代码看起来像这样:
lines = cv2.HoughLines(edges,1,np.pi/180,200)
for i in range(10):
for rho,theta in lines[i]:
Run Code Online (Sandbox Code Playgroud)
我想知道,到底发生了什么?或者我在这里做错了什么?
我想知道在URL.openconnection()时做了什么.
我做了一些像这样的测试:
public static void main(String[] args) {
// testConnection("http://www.google.com");
testConnection("http://219.09.34.23.1");
}
private static void testConnection(final String _url) {
new Thread(new Runnable() {
String strurl = _url;
long starttime = 0;
long endtime = 0;
public void run() {
try {
System.out.println("open:" + strurl);
starttime = System.currentTimeMillis();
System.out.println("starttime:" + starttime);
URL url = new URL(strurl);
HttpURLConnection conn = (HttpURLConnection) url
.openConnection();
endtime = System.currentTimeMillis();
System.out.println("openConnection endtime:" + endtime);
System.out
.println("spend:" + (endtime - starttime) + " ms");
conn.connect();
endtime = …Run Code Online (Sandbox Code Playgroud)