我正在使用python语言在RPi中实现SIM900接口.但是,在port.write()函数中发送字符串时出现问题.
这是我的代码:
# This line has to write on serial port
port.write(b'AT+SAPBR=3,1,"APN","TATA.DOCOMO.INTERNET"\r\n')
Run Code Online (Sandbox Code Playgroud)
以上行很好用......
现在我的要求是TATA.DOCOMO.INTERNET必须从命令行读取的字符串,我需要附加该字符串b'AT+SAPBR=3,1,"APN","xxxx"\r\n'.
但是当我试图将APN名称读入变量并且在追加它之后它不起作用时,代码行就是
# AP ="TATA.DOCOMO.INTERNET"-string read from serial input
AP = gsm.read()
t1 = "AT+SAPBR=3,1,"
t2 = '"APN",'
t3 = AP
t4 = '\r\n'
t = t1 + t2 + t3 + t4
Run Code Online (Sandbox Code Playgroud)
它在python中的输出如下:
AT+SAPBR=3,1,"APN","TATA.DOCOMO.INTERNET"\r\n'
Run Code Online (Sandbox Code Playgroud)
它看起来像我需要的行,但是当我在gsm.write(t)中写入时它会出错,我甚至尝试过
gsm.write(byte(t))
gsm.write(t.encode())
Run Code Online (Sandbox Code Playgroud)
但是,它仍然无效.
假设我有一个通用类Parcel和一个通用方法,如下面的代码所示.该方法打印并返回x,该方法在方法内分配了一个类型参数Integer.
public class Parcel<T> {
public <X> X deliver(){
X x = (X) new Integer(100);
System.out.println(x);
return x;
}
}
Run Code Online (Sandbox Code Playgroud)
在main中,我通过传递一个类型参数Parcel来调用方法.但它仍然打印100.
public static void main(String args[]) {
Parcel<String> parcel = new Parcel<>();
System.out.println(parcel.<Parcel> deliver());
}
Run Code Online (Sandbox Code Playgroud)
接下来,在打印行中传递的类型参数Parcel不起任何作用,我在此预期会有异常.它是如何工作的 ?
在Ipython中进行数据分析时,我经常需要通过将其内容打印到shell来查看数据.Numpy只有在它们太长的时候才能显示巨大物体的边缘.我真的很喜欢ndarrays的这个功能,但是当我打印内部python对象(例如,带有15k对象的字典)时,它们会被转储到屏幕上,或者有时会以不太友好的方式被截断.因此,例如对于一个巨大的字典,我希望在输出中看到这样的东西
{ '39416' : '1397',
'39414' : '1397',
'7629' : '7227',
...,
'31058' : '9606',
'21097' : '4062',
'32040' : '9606' }
Run Code Online (Sandbox Code Playgroud)
如果可以处理对齐和嵌套数据结构,那将是完美的.它们是一个特殊的模块,可以为python基类(list,dict)提供这样的功能吗?或者有一些我一无所知的ipython配置技巧?
我用Java编写了这样的DTO类:
public class AnswersDto {
private String uuid;
private Set<AnswerDto> answers;
}
public class AnswerDto<T> {
private String uuid;
private AnswerType type;
private T value;
}
class LocationAnswerDto extends AnswerDto<Location> {
}
class JobTitleAnswerDto extends AnswerDto<JobTitle> {
}
public enum AnswerType {
LOCATION,
JOB_TITLE,
}
class Location {
String text;
String placeId;
}
class JobTitle {
String id;
String name;
}
Run Code Online (Sandbox Code Playgroud)
在我的项目中,Jackson库用于JSON的序列化和反序列化.
如何配置AnswersDto(使用特殊注释)或AnswerDto(注释)类,以便能够AnswersDto在其正文中正确地反序列化请求,例如:
{
"uuid": "e82544ac-1cc7-4dbb-bd1d-bdbfe33dee73",
"answers": [
{
"uuid": "e82544ac-1cc7-4dbb-bd1d-bdbfe33dee73",
"type": "LOCATION",
"value": …Run Code Online (Sandbox Code Playgroud) 我想生成一个使用 JavaPoet 扩展其他类的类。
例如我有这个类:
@MyAnnotation
public class ClassA {
public ClassA(String paramA, int paramB) {
// some code
}
}
Run Code Online (Sandbox Code Playgroud)
我想生成这样的新类:
public class Generated_ClassA extends ClassA {
public Generated_ClassA (String paramA, int paramB) {
super(paramA, paramB);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我在 JavaPoet 中没有看到任何现成的 API 来创建调用超类构造函数的构造函数。如何做到这一点以及最佳实践是什么?
任何人都可以解释是什么用途
-JVM_OPTS="$JVM_OPTS -Dcassandra.consistent.rangemovement=false"
Run Code Online (Sandbox Code Playgroud)
什么是默认设置以及它如何影响多个节点加入群集?
所有与此相关的是用于cassandra实用程序的Datastax doc
我有以下类层次结构.
trait Item {val id: String}
case class MItem(override val id: String, val name: String) extends Item
class DItem(override val id: String, override val name: String, val name2: String) extends MItem(id, name)
val d = new DItem("1", "one", "another one")
println(d)
Run Code Online (Sandbox Code Playgroud)
预期产出
DItem(1, one, another one)
Run Code Online (Sandbox Code Playgroud)
实际产出
Mitem(1,one)
Run Code Online (Sandbox Code Playgroud)
为什么会这样呢?建议什么,以便我得到我的对象的真实类型和非类型的超类.
我试图mvn deploy在我的 Liferay portlet 上使用 maven运行一个目标,但出现以下错误
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.
2:deploy (default-deploy) on project MyPortlet: Deployment failed: repository eleme
nt was not specified in the POM inside distributionManagement element or in -Dal
tDeploymentRepository=id::layout::url parameter -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o
rg.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on pro
ject RiskID: Deployment failed: repository element was not specified in the POM
inside distributionManagement element or in -DaltDeploymentRepository=id::layout
Run Code Online (Sandbox Code Playgroud)
我知道如果您不在<distributionManagement />pom.xml 中包含该标记,则会返回此错误,但是我不希望将其打包到远程位置,而是希望部署到我的本地 tomcat 实例;这个可以配置吗?
我有一个可重复的注释
@Repeatable(Examples.class)
public @interface Example {
int value();
}
Run Code Online (Sandbox Code Playgroud)
使用容器注释
@Retention(RetentionPolicy.RUNTIME)
public @interface Examples {
Example[] value();
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试启动此代码
@Example(1)
@Example(2)
public class Test {
public static void main(String[] args) {
Example example = Test.class.getAnnotation(Example.class);
System.err.println(example);
}
}
Run Code Online (Sandbox Code Playgroud)
然而它打印null.怎么可能?
我有一个日期列,它是数据帧中的字符串,采用 2017-01-01 12:15:43 时间戳格式。
现在我想使用 dataframe 而不是 Spark sql 从该列获取工作日编号(1 到 7)。
像下面这样
df.select(weekday(col("colname")))
Run Code Online (Sandbox Code Playgroud)
我在 python 和 sql 中找到了一个,但在 scala 中没有找到。有谁能帮我解决这个问题吗
在 sql 上下文中
sqlContext.sql("select date_format(to_date('2017-01-01'),'W') as week")
Run Code Online (Sandbox Code Playgroud) java ×5
python ×2
scala ×2
apache-spark ×1
cassandra ×1
datastax ×1
generics ×1
inheritance ×1
ipython ×1
javapoet ×1
json ×1
liferay ×1
maven ×1
printing ×1
raspberry-pi ×1
serial-port ×1
spring ×1
tomcat ×1
type-erasure ×1