小编moo*_*nts的帖子

如何在Python中中止对象实例创建?

我想设置一个类,它将在实例创建期间根据传递给类的参数的值中止.我尝试过一些东西,其中一个是在__new__方法中引发错误:

class a():
    def __new__(cls, x):
        if x == True:
            return cls
        else:
            raise ValueError
Run Code Online (Sandbox Code Playgroud)

这就是我希望会发生的事情:

>>obj1 = a(True)
>>obj2 = a(False)
ValueError Traceback (most recent call last)
Run Code Online (Sandbox Code Playgroud)

obj1存在但obj2不存在.

有任何想法吗?

python object

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

Matlab区域()边缘颜色覆盖轴线,是否有工作?

figure('Color', 'w')
box on
x = 1:10;
y = 5 * x + 2;
area(x, y, 'FaceColor', 'b', 'EdgeColor', 'b')
Run Code Online (Sandbox Code Playgroud)

此代码创建一个图形,曲线下方的区域为蓝色.EdgeColor属性将填充区域周围的梯形线设置为蓝色,但这会覆盖黑色轴线和刻度线.我不确定为什么会这样做或如何防止它.我认为轴总是优先的.在铺设填充区域时,我无法弄清楚如何将轴线和刻度线带回到视图中.任何想法如何让这个工作?

更新:'EdgeColor', 'None'似乎也不起作用.

matlab axes area figure

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

如何彻底删除问题评论中上传到Gitlab的文件?

有人在 Gitlab 问题评论中上传(附加)了一个文件。他们无意公开分享该文件。我可以删除评论,但该文件仍然可以通过原始的直接 URL 访问。该文件位于:

https://gitlab.com/<username>/<repo>/uploads/<hash>/<filename>
Run Code Online (Sandbox Code Playgroud)

有什么方法可以完全删除此上传目录中的文件吗?

gitlab

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

是否有始终指向最新版本的 PyPi 源下载链接?

假设我的最新版本的软件包位于 PyPi 上,可以通过以下网址下载源代码:

https://pypi.python.org/packages/source/p/pydy/pydy-0.3.1.tar.gz

我真的很想要一个如下所示的网址:

https://pypi.python.org/packages/source/p/pydy/pydy-latest.tar.gz

它将始终重定向到最新版本,在本例中为 0.3.1。这存在吗?

python pypi

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

如何将推送到GitHub的Matlab文件自动更改文件扩展名?

我已经开始使用Github来托管我的大部分代码,包括我的Matlab代码.事实证明,Github语法根据其扩展而不是文件内容突出显示代码.这对于Matlab m文件来说并不是那么好.它们被识别为Objective-C文件,也是.m,并且未正确识别/突出显示.如果它们具有.matlab扩展名,Github会突出显示Matlab m文件,但问题是Matlab似乎拒绝运行没有.m扩展名的文件.我无法提出解决方案,因为我希望我的matlab文件能够与Github和Matlab很好地配合使用.所以这里有几个问题:

  1. 有没有办法在推送到Github时将所有.m文件转换为.matlab扩展名?在从Github获取或克隆时,还需要将.matlab文件转换为.m扩展名吗?

  2. 如果1.不可能,有没有办法让Matlab运行具有.matlab扩展名的文件?

如果是1或2,我会喜欢一些提示或如何做到这一点的例子.

git matlab github

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

如何通过脚本更新plone页面?

我有大量自动生成的html文件,我想用脚本推送到我的Plone网站.我目前生成文件,登录Plone,单击每个页面上的编辑,然后将html复制并粘贴到编辑器中.我想自动化这个.保留plone版本,为编辑添加自动生成的注释,以及来自特定用户会很好.

我已经阅读并尝试过Webdav,但却没有一点好运,让它始终如一地工作,并且知道有一种方法可以通过ftp连接到plone,但还没有尝试过.我不确定这些是否是我需要的方法.

我的谷歌搜索没有引导我做任何有用的事情.关于从哪里开始寻找解决方案的任何想法?或者有关实施它的任何提示?

python plone

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

如何在实例化时有条件地将mixin添加到当前类?

我想要一个基于传递给构造函数的参数添加mixins的类.这就是我尝试过的:

class MixinOne(object):
    def print_name(self):
        print("{} is using MixinOne.".format(self.name))


class MixinTwo(object):
    def print_name(self):
        print("{} is using MixinTwo.".format(self.name))


class Sub(object):

    def __new__(cls, *args, **kwargs):

        mixin = args[1]

        if mixin == 'one':
            bases = (MixinOne,) + cls.__bases__
        elif mixin == 'two':
            bases = (MixinTwo,) + cls.__bases__

        return object.__new__(type('Sub', bases, dict(cls.__dict__)))

    def __init__(self, name, mixin):

        print('In Sub.__init__')

        self.name = name
Run Code Online (Sandbox Code Playgroud)

唯一的问题似乎是__init__没有被调用,所以print_name方法不起作用.

  1. 我怎么__init__Sub火?

要么

  1. 有一个更好的方法吗?

python class mixins

4
推荐指数
2
解决办法
1082
查看次数

如何使用正则表达式删除python字符串中的十六进制值?

我在matlab中有一个单元格数组

columns = {'MagX', 'MagY', 'MagZ', ...
           'AccelerationX',  'AccelerationX',  'AccelerationX', ...
           'AngularRateX', 'AngularRateX', 'AngularRateX', ...
           'Temperature'}
Run Code Online (Sandbox Code Playgroud)

我使用这些脚本,利用matlab的hdf5write函数将数组保存为hdf5格式.

然后我使用pytables将hdf5文件读入python.单元格数组作为一个numpy字符串数组.我转换为列表,这是输出:

>>>columns
['MagX\x00\x00\x00\x08\x01\x008\xe6\x7f',
 'MagY\x00\x7f\x00\x00\x00\xee\x0b9\xe6\x7f',
 'MagZ\x00\x00\x00\x00\x001',
 'AccelerationX',
 'AccelerationY',
 'AccelerationZ',
 'AngularRateX',
 'AngularRateY',
 'AngularRateZ',
 'Temperature']
Run Code Online (Sandbox Code Playgroud)

这些十六进制值从某处弹出到字符串中,我想删除它们.它们并不总是出现在列表的前三项中,我需要一种很好的方式来处理它们或者首先找出它们为什么存在.

>>>print columns[0]
Mag8?
>>>columns[0]
'MagX\x00\x00\x00\x08\x01\x008\xe6\x7f'
>>>repr(columns[0])
"'MagX\\x00\\x00\\x00\\x08\\x01\\x008\\xe6\\x7f'"
>>>print repr(columns[0])
'MagX\x00\x00\x00\x08\x01\x008\xe6\x7f'
Run Code Online (Sandbox Code Playgroud)

我尝试使用正则表达式删除十六进制值,但运气不佳.

>>>re.sub('(\w*)\\\\x.*', '\1', columns[0])
'MagX\x00\x00\x00\x08\x01\x008\xe6\x7f'
>>>re.sub('(\w*)\\\\x.*', r'\1', columns[0])
'MagX\x00\x00\x00\x08\x01\x008\xe6\x7f'
>>>re.sub(r'(\w*)\\x.*', '\1', columns[0])
'MagX\x00\x00\x00\x08\x01\x008\xe6\x7f'
>>>re.sub('([A-Za-z]*)\x00', r'\1', columns[0])
'MagX\x08\x018\xe6\x7f'
>>>re.sub('(\w*?)', '\1', columns[0])
'\x01M\x01a\x01g\x01X\x01\x00\x01\x00\x01\x00\x01\x08\x01\x01\x01\x00\x018\x01\xe6\x01\x7f\x01'
Run Code Online (Sandbox Code Playgroud)

有关如何处理这个的任何建议?

python string matlab hdf5 pytables

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

渲染 Sympy 矩阵时,Spyder 无法渲染乳胶

Python 3.5.0 |Anaconda 2.4.0 (x86_64) Python 4.0.0 Spyder 今天更新。在 Mac iBook OS 10.10.1 上运行

>>> M = Matrix([[1, 0, 1, 3], [2, 3, 4, 7], [-1, -3, -3, -4]])
>>> M
Run Code Online (Sandbox Code Playgroud)

在 Spyder 内部控制台中产生以下错误:

>>> /Users/webe077/anaconda/lib/python3.5/site-packages/nbformat/current.py:19: UserWarning: nbformat.current is deprecated.

- use nbformat for read/write/validate public API
- use nbformat.vX directly to composing notebooks of a particular version

  """)
ERROR:root:Failed to render latex: '$$\left ( \left[\begin{matrix}1 & 0 & 1 & 3\\0 & 1 & \frac{2}{3} & \frac{1}{3}\\0 & 0 …
Run Code Online (Sandbox Code Playgroud)

python sympy spyder

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

标签 统计

python ×6

matlab ×3

area ×1

axes ×1

class ×1

figure ×1

git ×1

github ×1

gitlab ×1

hdf5 ×1

mixins ×1

object ×1

plone ×1

pypi ×1

pytables ×1

spyder ×1

string ×1

sympy ×1