我正在使用IPython Qt控制台,当我从Ipython复制代码时,就会出现这样的情况:
class notathing(object):
...:
...: def __init__(self):
...: pass
...:
Run Code Online (Sandbox Code Playgroud)
有没有办法复制它们没有那些领先的三点和双立方?
PS我尝试了两个Copy并Copy Raw Text在上下文菜单中,它仍然是相同的.操作系统:Debian Linux 7.2(KDE).
这是一个我正在离开的字符串pandas.DataFrame.to_json(),将其放入redis,将其从其他地方的redis中取出,并尝试通过pandas.read_json()以下方式读取它:
DFJ {"args":{"0":"[]","1":"[]","2":"[]","3":"[]","4":"[]","5":"[]","6":"[]","7":"[]"},"date":{"0":1385944439000000000,"1":1385944439000000000,"2":1385944440000000000,"3":1385944440000000000,"4":1385944440000000000,"5":1385944440000000000,"6":1385944440000000000,"7":1385944440000000000},"host":{"0":"yy38.segm1.org","1":"kyy1.segm1.org","2":"yy10.segm1.org","3":"yy24.segm1.org","4":"yy24.segm1.org","5":"yy34.segm1.org","6":"yy15.segm1.org","7":"yy15.segm1.org"},"kwargs":{"0":"{}","1":"{}","2":"{}","3":"{}","4":"{}","5":"{}","6":"{}","7":"{}"},"operation":{"0":"x_gbinf","1":"x_initobj","2":"x_gobjParams","3":"gtfull","4":"x_gbinf","5":"gxyzinf","6":"deletemfg","7":"gxyzinf"},"thingy":{"0":"a13yy38","1":"a19kyy1","2":"a14yy10","3":"a14yy24","4":"a14yy24","5":"a12yy34","6":"a15yy15","7":"a15yy15"},"status":{"0":-101,"1":1,"2":-101,"3":-101,"4":-101,"5":-101,"6":1,"7":-101},"time":{"0":0.000801,"1":0.003244,"2":0.002247,"3":0.002787,"4":0.001067,"5":0.002652,"6":0.004371,"7":0.000602}}
Run Code Online (Sandbox Code Playgroud)
好像它里面没有任何unicode.然而,在尝试.read_json()它时,我得到:
Traceback (most recent call last):
File "./sqlprofile.py", line 160, in <module>
maybe_save_dataframes(rconn, configd, results)
File "./sqlprofile.py", line 140, in maybe_save_dataframes
h5store.append(out_queue, df)
File "/home/username/anaconda/lib/python2.7/site-packages/pandas/io/pytables.py", line 658, in append
self._write_to_group(key, value, table=True, append=True, **kwargs)
File "/home/username/anaconda/lib/python2.7/site-packages/pandas/io/pytables.py", line 923, in _write_to_group
s.write(obj = value, append=append, complib=complib, **kwargs)
File "/home/username/anaconda/lib/python2.7/site-packages/pandas/io/pytables.py", line 2985, in write
**kwargs)
File "/home/username/anaconda/lib/python2.7/site-packages/pandas/io/pytables.py", line 2717, in create_axes
raise e
TypeError: [unicode] is not implemented as a table column
> …Run Code Online (Sandbox Code Playgroud) 我在字符串列表的json.Marshal上得到这个:
json: invalid UTF-8 in string: "...ole\xc5\"
Run Code Online (Sandbox Code Playgroud)
原因很明显,但是如何在Go中删除/替换这些字符串?我一直在阅读docst unicode和unicode/utf8package,似乎没有明显/快速的方法来做到这一点.
例如,在Python中,您可以使用其中的方法来删除无效字符,替换为指定字符或严格设置,这会在无效字符上引发异常.我怎么能在Go中做同样的事情?
更新:我的意思是获得异常的原因(恐慌?) - json.Marshal期望有效的UTF-8字符串的非法字符.
(非法字节序列如何进入该字符串并不重要,通常的方式 - 错误,文件损坏,其他程序不符合unicode等)
我经常在运行Vagrant时遇到这样的错误:
VBoxManage: error: A NAT rule of this name already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component NATEngine, interface INATEngine, callee nsISupports
VBoxManage: error: Context: "AddRedirect(Bstr(strName).raw(), proto, Bstr(strHostIp).raw(), RTStrToUInt16(strHostPort), Bstr(strGuestIp).raw(), RTStrToUInt16(strGuestPort))" at line 1524 of file VBoxManageModifyVM.cpp
Run Code Online (Sandbox Code Playgroud)
我想在做之前删除所有端口转发规则vagrant up,但是我在列出natpf规则时遇到了麻烦.有没有办法vboxmanage在Vagrant中使用或通过一些设施来做到这一点?
更新:Vagrant版本1.3.4.我可以按如下方式复制问题:启动vm安装normal way(vagrant up)并在安装期间强制关闭vm(这模拟了例如安装失败).然后natpf1端口转发规则留在系统中.清理它的唯一方法是vboxmanage modifyvm #{vmid} --natpf1 delete rule_name,但是你必须事先知道规则名称...此外,规则保留在那之后vagrant destroy,似乎我的Ruby natpf1清除功能Vagrant.configure不会运行,这意味着陈旧的规则仍然与Vagrant试图创造的"新鲜"冲突相冲突.
虽然堆栈跟踪在Python中很有用,但大多数情况下问题根源的数据都缺失了 - 有没有办法确保至少将locals()(以及可能的globals())添加到打印的堆栈跟踪中?
SA支持正则表达式,但那些似乎是Python regexps(SQLalchemy查询中的正则表达式?)
我需要在匹配某些行时使用正则表达式(一行包含1个日志行,因此正则表达式是自然匹配)但出于性能原因,我更倾向于使用PG后端,就像在这个问题中一样:
select * from table where name ~ 'foo';
Run Code Online (Sandbox Code Playgroud)
如何在一个查询中将PG实现的正则表达式和SQLAlchemy对象选择结合起来?
我可以:
_, ok := some_go_map[a_key]
Run Code Online (Sandbox Code Playgroud)
测试密钥的存在.
但是我被Python的dict的setdefault方法所破坏(如果一个键没有在"map"[dict == associative array]中设置值,将它设置为给定的默认值,然后得到它;否则只是得到).
想知道Go中是否有一些成语可以达到同样的目的?
这里的熊猫新手。一个(微不足道的)问题:主机、操作、执行时间。我想按主机分组,然后按主机+操作,计算每个主机的执行时间的标准偏差,然后按主机+操作对。看起来很简单?
它适用于按单列分组:
df
Out[360]:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 132564 entries, 0 to 132563
Data columns (total 9 columns):
datespecial 132564 non-null values
host 132564 non-null values
idnum 132564 non-null values
operation 132564 non-null values
time 132564 non-null values
...
dtypes: float32(1), int64(2), object(6)
byhost = df.groupby('host')
byhost.std()
Out[362]:
datespecial idnum time
host
ahost1.test 11946.961952 40367.033852 0.003699
host1.test 15484.975077 38206.578115 0.008800
host10.test NaN 37644.137631 0.018001
...
Run Code Online (Sandbox Code Playgroud)
好的。现在:
byhostandop = df.groupby(['host', 'operation'])
byhostandop.std()
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-364-2c2566b866c4> in <module>() …Run Code Online (Sandbox Code Playgroud) 我有这个:
self.lines = [...]
cnt = defaultdict(int)
for line in self.lines:
cnt[line] += 1
Run Code Online (Sandbox Code Playgroud)
现在这个工作.但我想知道是否可以使用列表理解来完成(增加defaultdict中特定行的计数)?
这是语法错误:
[cnt[line] += 1 for line in self.lines]
Run Code Online (Sandbox Code Playgroud)
顺便说一下,为什么不能在列表理解中使用这样的表达式呢?它很简单,并且会极大地改善这些代码的简洁性和性能.
学习Haskell,在ghci:
Prelude Data.Ratio> :type 0.15
0.15 :: Fractional a => a
Prelude Data.Ratio> 0.15
0.15
it :: Double
Run Code Online (Sandbox Code Playgroud)
为什么类型不同?那两个0.15的实例实际上是不同的类型吗?
python ×7
go ×2
pandas ×2
unicode ×2
exception ×1
haskell ×1
ipython ×1
json ×1
postgresql ×1
qtconsole ×1
regex ×1
sqlalchemy ×1
stack-trace ×1
statistics ×1
vagrant ×1
virtualbox ×1