小编Jas*_*ker的帖子

我如何继承collections.Iterator?

根据关于ABC的文档,我应该只需要添加一个next方法来进行子类化collections.Iterator.所以,我正在使用以下类:

class DummyClass(collections.Iterator):
    def next(self):
        return 1
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试实例化它时出现错误:

>>> x = DummyClass()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Can't instantiate abstract class DummyClass with abstract methods __next__
Run Code Online (Sandbox Code Playgroud)

我猜我做的很蠢,但我无法弄清楚它是什么.任何人都可以对此有所了解吗?我可以添加一个__next__方法,但我的印象只是C类.

python collections iterator abc

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

我可以使用cygwin编写hudson构建步骤的脚本吗?

我试过执行以下操作:

#!C:\cygwin\bin\bash.exe
ls ${WORKSPACE}
Run Code Online (Sandbox Code Playgroud)

但是,这并没有找到ls(即使它在Windows路径上).有没有办法设置它?

更新:换句话说,我希望能够设置一个使用cygwin bash而不是windows cmd的构建步骤,就像这个页面向您展示如何处理Python一样.

bash continuous-integration cygwin hudson

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

使用正则表达式在HTML中匹配一对注释

我有一个看起来像这样的mako模板:

% if staff:
    <!-- begin staff -->
    ...
    <!-- end staff -->
% endif
Run Code Online (Sandbox Code Playgroud)

这样,如果我将staff变量传递为True,那么这些注释应该出现.我试图通过使用如下所示的正则表达式来测试它:

re.search('<!-- begin staff -->.*<!-- end staff -->', text)
Run Code Online (Sandbox Code Playgroud)

我已经验证了注释出现在HTML输出中,但正则表达式不匹配.我甚至尝试通过re.escape 发表评论(<!-- begin staff --><!-- end staff -->),但仍然没有运气.我究竟做错了什么?

或者有更好的方法来运行此测试吗?

python regex unit-testing mako

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

有没有办法创建一个与SQL Server 2005中的视图相同的布局?

我真的不能想出用这句话来表达的最好方法,所以我只想举个例子.假设我有一个像这样创建的表:

CREATE VIEW People
AS
    SELECT
        id, --int
        name, --varchar(20)
        birthdate --datetime
    FROM SomeTable
Run Code Online (Sandbox Code Playgroud)

如果我想将其从视图更改为物理表,是否有任何方法可以创建具有相同布局的表?

换句话说,我想采取该视图并创建一个这样的表:

CREATE TABLE People(
    id int,
    name varchar(20),
    birtdate datetime
)
Run Code Online (Sandbox Code Playgroud)

...但无需手动编写该查询.

这当然是一个人为的例子.视图有很多具有许多不同数据类型的字段,因此很难手工完成.

sql sql-server-2005 view

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

跨平台应用程序应该允许文本文件获得的合理最大大小是多少?

跨平台应用程序可以允许文本文件获得的合理最大大小是多少?我知道这是一个过于简单的问题,所以请允许我解释一下.

我的团队正在为客户端实现批量加载接口,以将数据加载到我们的数据库中.它将写出一个CSV文件,然后将该文件加载到相应的数据库中(此时为Oracle或SQL Server).我们可以处理相对较多的记录.

在我开始将它们分成多个文本文件之前,我应该对这些文本文件的大小设置任何限制吗?目前,我们正在部署到Linux和Windows,但我们也有开发人员使用OS X.此外,我们的一些客户有这些操作系统的某些日期版本.我想这取决于我们连接的操作系统,文件系统和RDBMS.我没有尝试为每个平台设置限制,而是为了简单起见,我只想有一个总体限制(只要该限制不过度限制).这甚至是必要的,还是我可以设置一个上限?

filesystems cross-platform bulkinsert text-files

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

Python:我如何在这个类中实现'pop'?

我希望这个课程像列表一样.它的数据位于self.data属性中.如果我有一个实例,pp = population,定义__getitem__是什么意思我可以引用pp而不是pp.data?或者它的定义__repr__是什么呢?从列表而不是对象派生这个类会为我提供'pop'.现在我需要实现'pop'方法.谢谢

class population (object):
def __init__ (self):
    self.data = []

def append(self, item):
    self.data.append(item)

def extend(self, item):
    self.data.extend(item)

def sort(self):
    self.data.sort(cmp=fitnesscompare)

def __getitem__(self, index): return self.data[index]

def __setitem__(self, index, item): self.data[index] = item

def __len__(self): return len(self.data)

def __repr__(self): return repr(self.data)

def copy(self):
    return copy.deepcopy(self)
Run Code Online (Sandbox Code Playgroud)

python

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

如何转义SQL Loader数据文件中的机箱字符?

我有一个SQL*Loader控件文件,其行如下:

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '#'
Run Code Online (Sandbox Code Playgroud)

通常情况下,我会使用引号,但如果在多行字符串中使用,这似乎会破坏emacs的python语法突出显示.问题是我们正在加载一个ADDRESS_LINE_2列,其中只有7,000个记录正在加载,因为它们有这样的行:

......(其他专栏),Apt#2,(其他专栏)......

这当然会导致错误.有没有办法逃脱封闭的角色,所以这不会发生?或者我只需要选择一个更好的封闭角色?

我查看了文档,但似乎没有找到答案.

sql oracle plsql oracle10g sql-loader

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

在Ruby中的类定义中设置类/实例变量的惯用方法是什么?

例如,在Python中,我可以创建一个这样的类:

class foo(object):
    bar = 'x'
    def __init__(self, some_value):
        self.some_attr = some_value
Run Code Online (Sandbox Code Playgroud)

...其中bar是类属性,some_attr是实例属性.在Ruby中做这样的事情的惯用方法是什么?

ruby idioms

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

为什么Oracle对此查询使用跳过扫描?

这是运行速度非常慢的查询的tkprof输出(警告:它很长:-)):

SELECT mbr_comment_idn, mbr_crt_dt, mbr_data_source, mbr_dol_bl_rmo_ind, mbr_dxcg_ctl_member, mbr_employment_start_dt, mbr_employment_term_dt, mbr_entity_active, mbr_ethnicity_idn, mbr_general_health_status_code, mbr_hand_dominant_code, mbr_hgt_feet, mbr_hgt_inches, mbr_highest_edu_level, mbr_insd_addr_idn, mbr_insd_alt_id, mbr_insd_name, mbr_insd_ssn_tin, mbr_is_smoker, mbr_is_vip, mbr_lmbr_first_name, mbr_lmbr_last_name, mbr_marital_status_cd, mbr_mbr_birth_dt, mbr_mbr_death_dt, mbr_mbr_expired, mbr_mbr_first_name, mbr_mbr_gender_cd, mbr_mbr_idn, mbr_mbr_ins_type, mbr_mbr_isreadonly, mbr_mbr_last_name, mbr_mbr_middle_name, mbr_mbr_name, mbr_mbr_status_idn, mbr_mpi_id, mbr_preferred_am_pm, mbr_preferred_time, mbr_prv_innetwork, mbr_rep_addr_idn, mbr_rep_name, mbr_rp_mbr_id, mbr_same_mbr_ins, mbr_special_needs_cd, mbr_timezone, mbr_upd_dt, mbr_user_idn, mbr_wgt, mbr_work_status_idn 
FROM (SELECT /*+ FIRST_ROWS(1) */ mbr_comment_idn, mbr_crt_dt, mbr_data_source, mbr_dol_bl_rmo_ind, mbr_dxcg_ctl_member, mbr_employment_start_dt, mbr_employment_term_dt, mbr_entity_active, mbr_ethnicity_idn, mbr_general_health_status_code, mbr_hand_dominant_code, mbr_hgt_feet, mbr_hgt_inches, mbr_highest_edu_level, mbr_insd_addr_idn, mbr_insd_alt_id, mbr_insd_name, mbr_insd_ssn_tin, mbr_is_smoker, mbr_is_vip, mbr_lmbr_first_name, mbr_lmbr_last_name, …
Run Code Online (Sandbox Code Playgroud)

oracle indexing sql-tuning

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

如何为当前目录中具有相同名称但下划线替换为破折号的每个目录创建符号链接?

例如,我想我有一个包含以下文件夹的目录

foo_bar
baz
Run Code Online (Sandbox Code Playgroud)

我想要的是一个bash命令,它将创建一个符号链接foo-bar,foo_bar所以它看起来像这样:

foo-bar
foo_bar
baz
Run Code Online (Sandbox Code Playgroud)

我很确定我可以编写一个Python脚本来执行此操作,但我很好奇是否有办法用bash执行此操作.这是我被困的地方:

ls -1 | grep _ | xargs -I {} ln -s {} `{} | sed 's/_/-/'`
Run Code Online (Sandbox Code Playgroud)

我要做的是运行命令ln -s,第一个参数是目录名,第二个参数是通过的名称sed s/_/-/.还有另一种方法吗?

bash symlink

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

PageRank算法如何处理链接?

我们在算法类中讨论了Google的PageRank算法.我们讨论的是该算法将网页表示为图形并将它们放在邻接矩阵中,然后进行一些矩阵调整.

唯一的问题是,在我们讨论的算法中,如果我链接到网页,该网页也被认为链接回我.这似乎使矩阵乘法更简单.这仍然是PageRank的工作方式吗?如果是这样,为什么不是每个人都只是链接到slashdot.com,yahoo.com和microsoft.com只是为了提高他们的网页排名?

algorithm pagerank

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

sys.path中的第一个条目应该代表当前的工作目录吗?

我一直认为sys.path默认情况下第一个条目是当前工作目录.但事实证明,在我的系统上,第一个条目是脚本所在的路径.因此,如果我正在执行一个/usr/bin来自的脚本/some/directory,那么第一个条目sys.path/usr/bin.我的系统上是否配置错误,或者这是预期的行为?

python pythonpath sys.path

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