小编Sté*_*ane的帖子

检查文件中是否存在多个字符串或正则表达式

我想检查我的所有字符串是否存在于文本文件中.它们可以存在于同一条线上或不同的线上.部分匹配应该没问题.像这样:

...
string1
...
string2
...
string3
...
string1 string2
...
string1 string2 string3
...
string3 string1 string2
...
string2 string3
... and so on
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我们可以用正则表达式代替字符串.

例如,以下代码检查文件中是否存在任何字符串:

if grep -EFq "string1|string2|string3" file; then
  # there is at least one match
fi
Run Code Online (Sandbox Code Playgroud)

如何检查是否所有这些都存在?由于我们只对所有匹配项的存在感兴趣,因此我们应该在所有字符串匹配后立即停止读取文件.

是否有可能做到这一点,而不必调用grep多次(不会标尺时输入文件较大,或者如果我们有一个大量的字符串相匹配),或使用工具,如awkpython

此外,是否有一个字符串的解决方案可以很容易地扩展为正则表达式?

bash search grep

18
推荐指数
3
解决办法
2961
查看次数

Pyinstaller添加数据文件

我正在努力使用pyinstaller,每当我使用kivy GUI构建这个特定的脚本并在构建之后运行.exe时我会得到致命的错误,它无法执行脚本.我通过cmd运行它,它给我错误:IOError: [Errno 2] No such file or directory: 'main.kv'

我尝试在启动构建时使用--add-data添加.kv文件以及mdb和dsn文件(在脚本中使用pypyodbc),但这样做我收到错误:( unrecognized arguments: --add-data'main.kv'其余的指定文件为--add-data follow)有没有解决方案或替代方法?

pyinstaller

13
推荐指数
3
解决办法
2万
查看次数

conda返回“解决环境:失败”

我不能再使用conda实用程序了。我多年来一直定期使用它,但是最近,因为我安装了python模块scp(使用命令conda install scp,我不知道它是否重要)而没有任何明显的异常,所以我在使用conda(conda安装…,conda更新…,conda卸载…,…,消息始终相同):

Solving environment: failed

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/Users/steph/anaconda/lib/python3.5/site-packages/conda/exceptions.py", line 819, in __call__
        return func(*args, **kwargs)
      File "/Users/steph/anaconda/lib/python3.5/site-packages/conda/cli/main.py", line 78, in _main
        exit_code = do_call(args, p)
      File "/Users/steph/anaconda/lib/python3.5/site-packages/conda/cli/conda_argparse.py", line 77, in do_call
        exit_code = getattr(module, func_name)(args, parser)
      File "/Users/steph/anaconda/lib/python3.5/site-packages/conda/cli/main_update.py", line 14, in execute
        install(args, parser, 'update')
      File "/Users/steph/anaconda/lib/python3.5/site-packages/conda/cli/install.py", line 235, in install
        force_reinstall=context.force,
      File "/Users/steph/anaconda/lib/python3.5/site-packages/conda/core/solve.py", line 506, in solve_for_transaction
        force_remove, force_reinstall)
      File "/Users/steph/anaconda/lib/python3.5/site-packages/conda/core/solve.py", line 439, in solve_for_diff …
Run Code Online (Sandbox Code Playgroud)

anaconda conda

12
推荐指数
3
解决办法
3万
查看次数

如何使用pymc3拟合属于实例的方法?

我没有使用PyMc3将属于类实例的方法作为确定性函数.你能告诉我怎么做吗?

为简单起见,我的案例总结如下,并附有一个简单的例子.实际上,我的约束是一切都是通过GUI完成的,像'find_MAP'这样的动作应该在链接到pyqt按钮的方法中.

我想在数据点上安装函数'FunctionIWantToFit'.问题,以下代码:

import numpy as np
import pymc3 as pm3
from scipy.interpolate import interp1d
import theano.tensor as tt
import theano.compile

class cprofile:
    def __init__(self):
        self.observed_x = np.array([0.3,1.4,3.1,5,6.8,9,13.4,17.1])
        self.observations = np.array([6.25,2.75,1.25,1.25,1.5,1.75,1.5,1])
        self.x = np.arange(0,18,0.5)

    @theano.compile.ops.as_op(itypes=[tt.dscalar,tt.dscalar,tt.dscalar],
                              otypes=[tt.dvector])
    def FunctionIWantToFit(self,t,y,z):
        # can be complicated but simple in this example
        # among other things, this FunctionIWantToFit depends on a bunch of 
        # variables and methods that belong to this instance of the class cprofile,
        # so it cannot simply be put outside the …
Run Code Online (Sandbox Code Playgroud)

pymc3

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

如何将Anaconda Python默认编译器更改为更新版本的GCC?

python使用的gcc版本未更新.问题有点类似于这个问题,但不幸的是答案并没有帮助:

如何将Python默认编译器更改为GCC?

我正在使用centOS 6.5并安装anaconda 2.

已经使用这种方式更改了默认GCC的版本

$ sudo yum install centos-release-scl
$ sudo yum install devtoolset-3-toolchain
$ echo "scl enable devtoolset-3 bash">>~/.bash_profile
$ scl enable devtoolset-3 bash
Run Code Online (Sandbox Code Playgroud)

并且还将/ usr/bin/gcc中的gcc更改为与devtoolset-3中的新gcc链接

我用的时候

$ gcc -v
Run Code Online (Sandbox Code Playgroud)

信息就像

gcc version 4.9.2 20150212 (Red Hat 4.9.2-6) (GCC) 
Run Code Online (Sandbox Code Playgroud)

但是当我键入python时它仍然显示

Python 2.7.13 |Anaconda 4.3.1 (64-bit)| (default, Dec 20 2016, 23:09:15) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Run Code Online (Sandbox Code Playgroud)

python gcc

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

pymc3 中的“find_MAP”输出是什么意思?

pymc3 中 find_MAP 的返回值是什么?

pymc3.Normal 和 pymc3.Uniform 变量似乎并不相同:对于 pymc3.Normal 变量, find_MAP 返回一个看起来像最大后验概率的值。但是对于 pymc3.Uniform 变量,我在变量名称中添加了一个“_interval”后缀,并且我在文档中的任何地方都找不到返回值的含义(这可能看起来很荒谬,甚至不在物理范围内) .

例如:

import numpy as np
import pymc3 as pm3
# create basic data such as obs = (x*0.95)**2+1.1+noise
x=np.arange(10)+1
obs=(x*0.95)**2+np.random.randn(10)+1.1
# fitting the model y=a(1*x)**2+a0 on data points
with pm3.Model() as model:
    a0 = pm3.Uniform("a0",0,5)
    a1 = pm3.Normal("a1",mu=1,sd=1)
    a2 = pm3.Deterministic('a2',(x*a1)**2+a0)
    hypothesis = pm3.Normal('hypothesis', mu=a2, sd=0.1, observed=obs)
    start = pm3.find_MAP()
print('start: ',start)
Run Code Online (Sandbox Code Playgroud)

返回:

Optimization terminated successfully.
         Current function value: 570.382509
         Iterations: 13
         Function evaluations: 17 …
Run Code Online (Sandbox Code Playgroud)

pymc3

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

如果可能,如何为python 3.5+,3.6构建.exe?

现在是否有一个简单的协议来从 python 3.5+ 构建 .exe,使用模块 pyqtgraph、qt5、theano、pymc3、numpy、scipy、os 和 sys,并打开一个存储在“.ui”文件中的简单 GUI?我浪费了几个小时,最终没能做出一个(w7-64 位)。帮助 !

py2exe 的初步失败:我首先为 python 3 安装了 py2exe,但事实证明这与我的 python 3.6 不兼容,所以我降级到 python 3.5……得到了一堆错误。然后我去了论坛并尝试了建议的治疗方法但失败了(我对 Windows 感到不安),另一种选择是降级到 python 3.4……所以我降级到 python 3.4 以得到一个关于缺少“msvcr100.dll”的错误,我尝试在论坛上安装以下说明,但默认情况下我没有修改系统目录的权限......当我最终获得此权限时,结果证明“regsvr32”命令失败(这不是 32 位的吗?但是没有'regsvr64'...)。以下情节描述如下。


2017 年 8 月 23 日下午 1 点更新:

下一步是什么 ?


9 月 2 日下午 2 点更新:

经过多集之后,我最终设法使用 pyinstaller 构建了一个 .exe。 …

python py2exe pyinstaller cx-freeze pynsist

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

糟糕的大小调整GUI.在Qt Designer中可能滥用布局

我使用Qt Designer设计了一个GUI,需要将它分发到许多具有不同分辨率的计算机上.我的问题是GUI不能在不同的屏幕上正确缩放:主窗口可能被截断,一些表也是如此,字体的大小不同.我在论坛上发现了许多关于使用布局来正确调整大小的注意事项,但我必须滥用它们,因为我已经使用了布局而没有解决问题.我尝试了很多东西,但我没有看到诀窍.你能告诉我我做错了什么吗?

例如,这是一个页面的正确视图:在此输入图像描述

这是同一页面的损坏视图,同一台计算机具有不同的分辨率:在此输入图像描述 差异是可以接受的,因为它只是"更复杂的模型"标签的截断.但这是Windows 7上的视图:在此输入图像描述

这是我的Qt Designer界面的视图(不要犹豫,要求更多信息,因为我不知道什么是相关的): 在此输入图像描述

ui文件在这里:https://github.com/steph2016/profiles/blob/master/cprofiles.ui.


1月12日更新.

我只是强调:

  • 如果需要一些编码,我更喜欢python(3.5 +),qt5和pyqtgraph.
  • 因为我不知道问题是否可以通过编码解决,因为我没有得到太多的关注,我在标签中添加了pyqt5和qt5.对不起,如果事实证明这不是主题.

layout resize qt-designer qt5 pyqt5

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

有没有办法在没有Nvidia的情况下安装Theano

我正在尝试在Windows 7上安装Theano以进行深度学习.我的笔记本电脑没有Nvidia GPU.那么这个问题有什么解决方案吗?

installation theano

3
推荐指数
2
解决办法
2371
查看次数

python下拟合时选择步长

如您所知,python 中的 lmfit 模块可以方便地扩展 scipy.optimize 函数的功能。

然而,我没有发现在我看来必要的东西:选择步长的可能性(用于偏导、参数空间中 chi2 的计算等......)。我曾经在 IDL 下安装时玩过这些步骤,我很惊讶我在 python 下没有找到这个。

很明显,默认的步长非常小,在拟合粗略模型时可能会导致恒定的 chi2……因此很尴尬。

所以我的问题是:在 python 下拟合时如何选择步骤?

python data-fitting lmfit

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