我有一个包含一些小数的python对象.这导致json.dumps()中断.
我从SO得到了以下解决方案(例如Python JSON序列化一个Decimal对象),但重新解决的解决方案仍然不起作用.Python网站 - 有完全相同的答案.
有任何建议如何使这项工作?
谢谢.以下是我的代码.看起来dumps()甚至没有进入专门的编码器.
clayton@mserver:~/python> cat test1.py
import json, decimal
class DecimalEncoder(json.JSONEncoder):
def _iterencode(self, o, markers=None):
print "here we go o is a == ", type(o)
if isinstance(o, decimal.Decimal):
print "woohoo! got a decimal"
return (str(o) for o in [o])
return super(DecimalEncoder, self)._iterencode(o, markers)
z = json.dumps( {'x': decimal.Decimal('5.5')}, cls=DecimalEncoder )
print z
clayton@mserver:~/python> python test1.py
Traceback (most recent call last):
File "test1.py", line 11, in <module>
z = json.dumps( {'x': decimal.Decimal('5.5')}, cls=DecimalEncoder )
File …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ionicframework为android构建我的cordova应用程序.我已将目标API级别设置为16(我已经从Android SDK管理器安装了它)但它总是以21级的方式获得.
在project/config.xml中:
<preference name="android-targetSdkVersion" value="16"/>
Run Code Online (Sandbox Code Playgroud)
在platforms/android/AndroidManifest.xml中,它显示相同:
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="16" />
Run Code Online (Sandbox Code Playgroud)
但是跑步cordova build --release android
我得到:
-build-setup:
[getbuildtools] Using latest Build Tools: 22.0.0
[echo] Resolving Build Target for OpsVedaMobile...
[gettarget] Project Target: Android 5.0.1
[gettarget] API level: 21
Run Code Online (Sandbox Code Playgroud)
我怀疑我错过了一些设置,会很感激帮助.我使用了这个离子文档中的方法
离子:1.0.0.rc-5,离子CLI:1.3.22,cordova:5.0.0,节点:0.10.36 - 在Windows7上
- 编辑
似乎目标水平根本没有关系.我现在想知道它是如何/在哪里变得重要.
我正在开发一个内容服务器是远程的移动Web应用程序.我可以使用"--disable-web-security"选项在桌面Chrome上进行一些基本测试.Android上的chrome上是否有类似的功能?或者,Android上的任何其他浏览器?
非常感谢.
- 编辑
我包括这些标题 - 授权,访问控制 - 允许 - 来源,访问控制 - 允许 - 凭据; 但它似乎对数据服务器没有影响.我错过了其他任何设置吗?
webapp代码驻留在本地PC上; 远程主机上的数据; 和浏览器在本地局域网中的移动设备上.
我有一些非平凡的计算代码需要应用于已下载到浏览器DOM中并从用户交互中捕获的数据.我不希望公开这段代码.我想知道是否:
诸如网络中的Java小程序的可用性以及其他几个方面的问答也令人沮丧.
我的问题是:Java applets是一种死技术.这些天甚至没有关于这个话题的问答!此外,Java可能并不总是与所有浏览器(台式机,平板电脑或移动设备)捆绑在一起?
是否有更好的方法来实现相同的隐藏代码,利用客户端CPU/RAM,最小化数据流量?
网页在Javascript/html5/css上.服务器只提供JSON/XML.数据包为10-20KB并经常更新.计算是昂贵的和客户端特定的,所以我真的想使用客户端来做所有这些.
非常感谢.
我正在使用python(2.6)csv DictReader.我的输入文件有一个标题行,其中列名称有尾随空格:
colname1, colname2 ,col3, etc.
XX, YY, ZZ
Run Code Online (Sandbox Code Playgroud)
返回的dict对象有key()= ['colname1', 'colname2 ', 'col3']
是否可以选择修剪键的前导和尾随空格?
- 编辑
在键名处理中出现问题:
with open(fname) as f:
r = csv.DictReader(f)
for row in r:
print "processing", r["column1"], r["column2"]
Run Code Online (Sandbox Code Playgroud)
这些文件是数据库转储.转储程序太聪明了 - 它根据数据调整输出列宽度 - 这意味着不同的选择集将具有不同的列宽和不同的密钥长度.有时我必须使用r['column2 ']
,有时填充或减少空间.哎哟!
我有一个关于PostgreSQL 9.2中浮点数的新手问题.
是否有直接舍入浮点数的函数,即不必先将数字转换为数字类型?
另外,我想知道是否存在以任意度量单位舍入的函数,例如最接近0.05?
首先将数字转换为十进制形式时,以下查询可以完美地运行:
SELECT round(1/3.::numeric,4);
round
--------
0.3333
(1 row)
Time: 0.917 ms
Run Code Online (Sandbox Code Playgroud)
但是,我真正希望实现的是以下内容:
SELECT round(1/3.::float,4);
Run Code Online (Sandbox Code Playgroud)
目前给我以下错误:
ERROR: function round(double precision, integer) does not exist at character 8
Time: 0.949 ms
Run Code Online (Sandbox Code Playgroud)
谢谢
在 shell ( GNU bash, version 4.2.47(1)-release (x86_64-suse-linux-gnu)
) 中,当我点击 tab 进行自动补全时,“$”在变量名补全后被转义,但如果没有补全,那么它只会响铃。例如
$ ls $JDK_H<tab>
Run Code Online (Sandbox Code Playgroud)
结果是
$ ls \$JDK_HOME (with a trailing space)
Run Code Online (Sandbox Code Playgroud)
在旧的 GNU bash 版本 3.2.51(1)-release (x86_64-suse-linux-gnu) 上,它在完成后没有转义“$”,这正是我想要的。
有没有一种方法可以让旧的行为没有强烈的副作用?我的 BASHOPTS 和 SHELLOPTS 是:
# (indented for readability)
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extglob:extquote
:force_fignore:histappend:interactive_comments:login_shell
:progcomp:promptvars:sourcepath
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history
:interactive-comments:monitor
Run Code Online (Sandbox Code Playgroud)
谢谢。我正在使用 SLES SP11。
- 更新。其他完成似乎照常工作,例如cd
或echo
不转义$
. 我也暂时注释掉了/etc/share/bash-completion/bash_completion
我的/etc/bash.bashrc
which,阻止了$逃逸。所以这看起来像是某种完整的配置问题。
我正在尝试使用离子框架来构建一个内容菜单,它有两个部分,来自不同的控制器.我已指定他们为view: menuContent
和view: menuSubcontent
下面.
HTML
<ion-side-menus>
<ion-side-menu-content>
<ion-nav-bar class="main bar-stable nav-title-slide-ios7">
<ion-nav-back-button class="button-clear"><i class="icon"></i></ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view>
<ion-nav-view name="menuSubcontent"></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left">
<header class="bar bar-header bar-stable">
<h1 class="title">Left</h1>
</header>
<ion-content class="has-header">
<ion-list>
<ion-item nav-clear menu-close ng-click="login()">
Login
</ion-item>
<ion-item nav-clear menu-close href="#/app/morestuff">
etc.
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
Run Code Online (Sandbox Code Playgroud)
路由器
.state('app.playlists', {
url: "/playlists",
views: {
'menuContent': {
templateUrl: "templates/playlists.html",
controller: 'PlaylistsCtrl'
},
'menuSubcontent': {
template: "<span>subcontent of playlists</span>"
}
}
})
Run Code Online (Sandbox Code Playgroud)
当页面呈现时,<ion-nav-view name="menuSubcontent">
虽然它在DOM中,但是不可见.我添加了一些CSS属性以使其可见:
z-index: …
Run Code Online (Sandbox Code Playgroud) 我首先在我的.Rprofile
. 接下来我尝试使用file.choose()
.
我第一次运行file.choose
它时会显示默认目录列表。后续执行显示当前目录。
> getwd()
[1] "C:/Users/dinesh/Desktop/lab/M1/sp500"
> mydata=read.csv(file.choose(),stringsAsFactor=F,header=T)
Error in file.choose() : file choice cancelled <<<<<< wrong dir
> mydata=read.csv(file.choose(),stringsAsFactor=F,header=T)
Error in file.choose() : file choice cancelled <<<<<<<<<<<< right dir
Run Code Online (Sandbox Code Playgroud)
OTOH 如果我在第二个命令中运行,list.files()
我会得到正确的列表。再次,第一次调用file.choose
will 的行为出乎意料。
NEXT我再次改变当前目录,以setwd("c:/Users")
和尝试list.files()
,并file.choose()
和获得的结果相同的模式。
为什么它会这样,或者,我错过了什么?我在 Windows 7 上使用 R 3.1.2。
--EDIT 添加了更多细节
来自简介:
if (readline("Wanna pick a new working dir (by choosing a file)? y/xyz: ") == "y") {
try(setwd(dirname(file.choose())))
}
Run Code Online (Sandbox Code Playgroud)
使用 Rgui …
为什么可以从方法内部而不是从浏览器控制台访问变量?
我有以下打字稿代码,使用 angular6,ng serve
在 Windows 10(当前的 Chrome)上运行。
import * as d3 from "d3"; // from "npm i d3 --save" version 5.7
// picking a member of d3, nothing magical about "scaleLinear" here
console.log("see", d3.scaleLinear) // it prints ok, ƒ linear() {...
// angular component code fragment below
somefunction() {
console.log("see again", d3.scaleLinear) // it prints ok, again
// add a break here
}
Run Code Online (Sandbox Code Playgroud)
我将代码驱动到某个函数。在休息时,当我尝试在 Chrome 控制台中:
> console.log(d3.scaleLinear)
Run Code Online (Sandbox Code Playgroud)
它抛出一个错误:
VM2012:1 Uncaught ReferenceError: d3 is not defined
at eval …
Run Code Online (Sandbox Code Playgroud) android ×2
javascript ×2
python ×2
angularjs ×1
applet ×1
bash ×1
cordova ×1
cors ×1
decimal ×1
java ×1
json ×1
postgresql ×1
r ×1
typescript ×1