小编jlc*_*lin的帖子

使用Python数量时消除单位

我正在使用Python的大量包.我想知道如何在没有单位的情况下得到数量的数值.

即,如果我有

E = 5.3*quantities.joule
Run Code Online (Sandbox Code Playgroud)

我想达到5.3.我知道我可以简单地除以"不受欢迎的"单位,但希望有更好的方法来做到这一点.

python units-of-measurement

3
推荐指数
1
解决办法
2830
查看次数

使用cmake将compare_files与不同的行结尾相对应

cmake用来比较这样的两个文件:

cmake -E compare_files file1 file2
Run Code Online (Sandbox Code Playgroud)

麻烦的是,file1file2有不同的行结束.我正在使用,cmake因为我已经将它用于我的构建; 上面的命令在我的测试中.

此时我不需要任何特别的东西.只是一种告诉用户文件不同的方法.(希望没有差异.)如果存在差异,我会在此时报告并进行更仔细的手动检查.

如果有一种方便的报告方式(例如,打印到屏幕或写入文件),那么我愿意接受有关如何实现这一目标的建议.但我真的只是想知道是否存在差异,不同的行结尾是不重要的.

是否有一个我错过的旗帜或选项会忽略行结尾的差异?

line-endings cmake

3
推荐指数
1
解决办法
817
查看次数

我可以在Python的字符串格式"语言"中进行数学运算吗?

我在做字符串格式化的时候想做一些简单的数学运算.例如

N = {'number':3}
four = '{number:d + 1}'.format(**N)
Run Code Online (Sandbox Code Playgroud)

这当然不起作用.有没有办法实现这一点,我不知道?

谢谢!

python

2
推荐指数
1
解决办法
2377
查看次数

将unicode对象传递给XML解析器时出现Unicode错误

我试图读取一个包含xml和unicode的gzip文件,但是我收到了一个错误.我使用的代码是:

import gzip
import xml

path = "index.mjml.gz"
gzFile = gzip.open(path, mode='r')
gzContents = gzFile.read()
gzFile.close()

unicodeContents = gzContents.encode('utf-8')
xmlContent = xml.dom.minidom.parseString(unicodeContents)
# Do stuff with xmlContent
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我收到以下错误(在开头的行上失败xmlContent)

/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/xml/dom/minidom.pyc in parseString(string, parser)
   1922     if parser is None:
   1923         from xml.dom import expatbuilder
-> 1924         return expatbuilder.parseString(string)
   1925     else:
   1926         from xml.dom import pulldom

/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/xml/dom/expatbuilder.pyc in parseString(string, namespaces)
    938     else:
    939         builder = ExpatBuilder()
--> 940     return builder.parseString(string)
    941 
    942 

/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/xml/dom/expatbuilder.pyc in parseString(self, string)
    221         parser = self.getParser()
    222 …
Run Code Online (Sandbox Code Playgroud)

python unicode xml-parsing

2
推荐指数
1
解决办法
5398
查看次数

如何:使用bash将命令输出与文本文件进行比较

我正在尝试比较命令的输出

`ls -l directory` 
Run Code Online (Sandbox Code Playgroud)

使用我使用相同命令创建的文件.(我正在尝试一个穷人确保没有文件被修改过的方法.)

麻烦的是,我不知道如何使用我创建的文件diff输出ls命令.我尝试了以下,每次都不起作用

diff file.ls <(ls -l directory)
ls -l directory | xargs diff file.ls
ls -l directory | diff file.ls
diff file.ls < `ls -l directory`
Run Code Online (Sandbox Code Playgroud)

将输出与ls我已经保存的文件进行比较的神奇命令是什么?

linux bash diff ls

2
推荐指数
1
解决办法
5367
查看次数

cmake在哪里寻找.cmake脚本?

我想execute_processcmake这样的

execute_process(COMMAND ${CMAKE_COMMAND} -P myScript.cmake
Run Code Online (Sandbox Code Playgroud)

仅当文件myScript.cmake位于同一工作目录中时才有效.

三个相关问题:

  1. 是否cmake有标准位置来查找.cmake脚本?
  2. 有没有cmake我可以定义的变量来告诉cmake哪里看?要么
  3. 我应该总是给出脚本的完整路径(即-P ${PATH_VAR}/myScript.cmake)吗?

cmake

2
推荐指数
1
解决办法
617
查看次数

Matplotlib没有在Mac上显示情节; plt.show()提供'MacOSX'后端

最近,我不能让我的Matplotlib图显示出来.我有一个非常简单的脚本:

import matplotlib.pyplot as plt
plt.plot([1,2,3])
Run Code Online (Sandbox Code Playgroud)

但没有任何东西出现过.如果我包括该行

plt.show()
Run Code Online (Sandbox Code Playgroud)

然后我的Python进程挂起.

在我的~/.config/matplotlib/matplotlibrc文件中我有

backend      : MacOSX
interactive  : True
Run Code Online (Sandbox Code Playgroud)

问这个问题我有点尴尬.我多年来一直是Matplotlib用户,从未遇到过这个问题.我不知道从哪里开始解决这个问题.救命!

我正在使用Matplotlib 2.0.0和Anaconda的Python 3.5.2.

python backend matplotlib hang

2
推荐指数
1
解决办法
4072
查看次数

Vim拉动/复制文件中的所有多行样式

我有一个大文件,我只想在其中复制与正则表达式(多行)模式匹配的文件部分。我发现某个地方(可能是StackOverflow)可以做到这一点:

:g/z=45117\.1[0-9]\{2}nm\_.\{-}end/y
Run Code Online (Sandbox Code Playgroud)

此模式找到了我期望的所有条目,但是yank操作仅拉动找到的第一个匹配项的第一行

我需要什么vim魔术来抽出多行模式所有匹配项的所有行?

regex vim multiline

2
推荐指数
1
解决办法
57
查看次数

Vim 将一列数字乘以一系列数字

我的文本文件中有一个数字列,如下所示:

10  1  -0.93
11  1  -0.93
12  1  -0.93
13  1  -0.93
...
Run Code Online (Sandbox Code Playgroud)

(第一列数字不是行号。)

我想通过每一个乘以更换号码的最后一列0.10.20.3,等这样的结果是

10  1  -0.093
11  1  -0.186
12  1  -0.279
13  1  -0.372
...
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用=寄存器进行数学运算(这是正确的术语吗?),但我似乎无法弄清楚如何将其自动化。请指教。

math vim

2
推荐指数
1
解决办法
59
查看次数

我可以在任何地方使用shared_ptr我想使用简单的指针吗?

我对指针很缺乏经验,而且我遇到了简单指针与a之间差异的问题std::shared_ptr.我想使用一个,shared_ptr所以当没有任何指向时,我不必非常小心地删除该对象.

我正在使用我正在使用的库/标题(easylogging ++).我不认为它是外部库的问题,但我使用指针.该库有一个函数,它返回一个指向对象的简单指针.我总是把简单的指针转换成shared_ptr麻烦发生的地方.

// Works fine---but I want a shared_ptr
Object* MyInstance(ReturnPointerToObject(...));   
// Compiles fine, but crashes during deallocation of the Object (Seg fault?)
std::shared_ptr<Object> MyInstance(ReturnPointerToObject(...));    
Run Code Online (Sandbox Code Playgroud)

当程序结束时释放内容时,我的程序崩溃了.

问题:

  1. 将指针转换成shared_ptr这样的好主意还是坏主意?
  2. 这是我正在使用的外部库的问题吗?
  3. 我根本不理解指针和共享指针吗?

c++ pointers shared-ptr c++11

1
推荐指数
1
解决办法
680
查看次数