我想设置一个类,它将在实例创建期间根据传递给类的参数的值中止.我尝试过一些东西,其中一个是在__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
不存在.
有任何想法吗?
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'
似乎也不起作用.
有人在 Gitlab 问题评论中上传(附加)了一个文件。他们无意公开分享该文件。我可以删除评论,但该文件仍然可以通过原始的直接 URL 访问。该文件位于:
https://gitlab.com/<username>/<repo>/uploads/<hash>/<filename>
Run Code Online (Sandbox Code Playgroud)
有什么方法可以完全删除此上传目录中的文件吗?
假设我的最新版本的软件包位于 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。这存在吗?
我已经开始使用Github来托管我的大部分代码,包括我的Matlab代码.事实证明,Github语法根据其扩展而不是文件内容突出显示代码.这对于Matlab m文件来说并不是那么好.它们被识别为Objective-C文件,也是.m,并且未正确识别/突出显示.如果它们具有.matlab扩展名,Github会突出显示Matlab m文件,但问题是Matlab似乎拒绝运行没有.m扩展名的文件.我无法提出解决方案,因为我希望我的matlab文件能够与Github和Matlab很好地配合使用.所以这里有几个问题:
有没有办法在推送到Github时将所有.m文件转换为.matlab扩展名?在从Github获取或克隆时,还需要将.matlab文件转换为.m扩展名吗?
如果1.不可能,有没有办法让Matlab运行具有.matlab扩展名的文件?
如果是1或2,我会喜欢一些提示或如何做到这一点的例子.
我有大量自动生成的html文件,我想用脚本推送到我的Plone网站.我目前生成文件,登录Plone,单击每个页面上的编辑,然后将html复制并粘贴到编辑器中.我想自动化这个.保留plone版本,为编辑添加自动生成的注释,以及来自特定用户会很好.
我已经阅读并尝试过Webdav,但却没有一点好运,让它始终如一地工作,并且知道有一种方法可以通过ftp连接到plone,但还没有尝试过.我不确定这些是否是我需要的方法.
我的谷歌搜索没有引导我做任何有用的事情.关于从哪里开始寻找解决方案的任何想法?或者有关实施它的任何提示?
我想要一个基于传递给构造函数的参数添加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
方法不起作用.
__init__
就Sub
火?要么
我在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 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)