小编Fra*_*cis的帖子

在 Ansible 中安装多个包

我在 Ansible 中有这个任务:

- name: Install mongodb
  yum:
    name:
    - "mongodb-org-{{ mongodb_version }}"
    - "mongodb-org-server-{{ mongodb_version }}"
    - "mongodb-org-mongos-{{ mongodb_version }}"
    - "mongodb-org-shell-{{ mongodb_version }}"
    - "mongodb-org-tools-{{ mongodb_version }}"
    state: present
  notify: Restart mongodb
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以指示版本而不必使用这样的循环?什么是更“优雅”的写法?

- name: Install mongodb
  yum:
    name: "{{ item }}-{{ mongodb_version }}"
    state: present
    loop:
    - mongodb-org-server
    - mongodb-org-mongos
    - mongodb-org-shell
    - mongodb-org-tools
  notify: Restart mongodb
Run Code Online (Sandbox Code Playgroud)

ansible

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

Python的CSV阅读器和迭代

我有一个CSV文件,如下所示:

"Company, Inc.",,,,,,,,,,,,10/30/09
A/R Summary Aged Analysis Report,,,,,,,,,,,,10:35:01
All Clients,,,,,,,,,,,,USER

Client Account,Customer Name,15-Jan,16 - 30,31 - 60,61 - 90,91 - 120,120 - Over,Total,Status,Credit Limit
1000001111,CLIENT A,0,0,"3,711.32",0,0,"18,629.64","22,340.96",COD,"20,000.00"
1000002222,CLIENT B,0,0,0,"3,591.27",0,0,"3,591.27",COD,0
1000003333,CLIENT C,536.78,0,0,0,0,"11,216.60","11,753.38",COD,0
1000004444,CLIENT D,0,514.94,"3,147.45",690,0,0,"4,352.39",COD,0

Grand Total,,"139,203,856.06","84,607,749.30","110,746,640.18","58,474,379.45","52,025,869.06","292,653,734.82","737,712,228.87",,,,
Run Code Online (Sandbox Code Playgroud)

但我只想处理"客户帐户..."行之后和"总计..."之前的行.这是我现在使用的代码:

inputFile = csv.reader(open(filename), dialect='excel')
records = [line for line in inputFile if line and line[0].isdigit()]
Run Code Online (Sandbox Code Playgroud)

python csv iteration

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

通过POST将JSON编码的变量从PHP传递到Javascript

我有一个多维数组,我想用Javascript发送到PHP脚本,解析JSON数据并在Google Maps上绘制它.我正在尝试使用表单来模拟它:

<?php
$jsontest = array(
    0 => array(
        'plate_no' => 'abc111',
        'longlat' => array(121.003895,14.631563),
        'info' => 'first item'
        ),
    1 => array(
        'plate_no' => 'abc222',
        'longlat' => array(121.103895,14.731563),
        'info' => 'second item'
        )
    );
$jsonarray = json_encode($jsontest);
?>
<form action="json-target.php" method="post" accept-charset="utf-8">
        <input type="hidden" name="jsonarray" value="<?php echo $jsonarray; ?>" id="jsonarray">
    <p><input type="submit" value="Continue &rarr;"></p>
</form>
Run Code Online (Sandbox Code Playgroud)

json-target.php看起来像这样:

<?php
    print "The value of \$_POST is ";
    print_r($_POST);
?>
Run Code Online (Sandbox Code Playgroud)

而输出$_POSTArray ( [jsonarray] => [{ ).我想将$jsonarray变量的内容传递给Javascript函数(请参阅下面的更新).

更新: …

javascript php post json

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

在Python中解析非结构化文本

我想解析包含非结构化文本的文本文件.我需要获取地址,出生日期,姓名,性别和身份证明.

. 55 MORILLO ZONE VIII,
BARANGAY ZONE VIII
(POB.), LUISIANA, LAGROS
F
01/16/1952
ALOMO, TERESITA CABALLES
3412-00000-A1652TCA2
12    
. 22 FABRICANTE ST. ZONE
VIII LUISIANA LAGROS,
BARANGAY ZONE VIII
(POB.), LUISIANA, LAGROS
M
10/14/1967
AMURAO, CALIXTO MANALO13
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,前3行是地址,只有"F"的行是性别,DOB是"F"后面的行,DOB后面的名字,名称后面的ID和no .12下的ID是索引/记录号.

但是,格式不一致.在第二组中,地址是4行而不是3而索引/记录号.在名称后附加(如果此人没有ID字段).

我想将文本重写为以下格式:

name, ID, address, sex, DOB
Run Code Online (Sandbox Code Playgroud)

python parsing text

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

优化SQL查询

我正在尝试优化这个慢查询(> 2s)

SELECT COUNT(*)
FROM crmentity c, mdcalls_trans_activity_update mtu, mdcalls_trans mt
WHERE (mtu.dept = 'GUN' OR  mtu.dept = 'gun') AND
      mtu.trans_code = mt.trans_code AND
      mt.activityid = c.crmid AND
      MONTH(mtu.ts) = 2 AND
      YEAR(mtu.ts) = YEAR(NOW()) AND
      c.deleted = 0 AND
      c.smownerid = 28
Run Code Online (Sandbox Code Playgroud)

这是我使用EXPLAIN时的输出:

id  select_type table   type    possible_keys   key key_len ref rows    Extra   
1   SIMPLE  c   index_merge PRIMARY,crmentity_smownerid_idx,crmentity_deleted_smownerid_idx,crmentity_smownerid_deleted_idx crmentity_smownerid_idx,crmentity_deleted_smownerid_idx 4,8 NULL    91  Using intersect(crmentity_smownerid_idx,crmentity_deleted_smownerid_idx); Using where; Using index
1   SIMPLE  mt  ref activityid  activityid  4   pharex.c.crmid  60  
1   SIMPLE …
Run Code Online (Sandbox Code Playgroud)

mysql join

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

Ansible正在跳过调试行

我有一个角色,下面是调试行:

- name: Restore bootstrap DB
  command: "mongorestore -v --host localhost:{{ mongodb_net.port }} -d {{ item.dbname }} --dir {{ item.clone_dir }}"
  register: restore_result
  with_items:
    - { dbname: "{{ mongodb_db1_dbname }}", clone_dir: "/var/tmp/db_bootstrap/DB1_CLONE" }
    - { dbname: "{{ mongodb_db2_dbname }}", clone_dir: "/var/tmp/db_bootstrap/DB2_CLONE" }

- debug: var=restore_result verbosity=2
Run Code Online (Sandbox Code Playgroud)

但是它跳过了调试任务。

TASK [mongodb : Restore bootstrap DB] ***************************************************
changed: [xx.xx.xx.167] => (item={u'dbname': u'DB1', u'clone_dir': u'/var/tmp/db_bootstrap/DB1'})
changed: [xx.xx.xx.167] => (item={u'dbname': u'DB2', u'clone_dir': u'/var/tmp/db_bootstrap/DB2'})

TASK [mongodb : debug] ******************************************************************
skipping: [xx.xx.xx.167]
Run Code Online (Sandbox Code Playgroud)

当我启用详细模式时-vv,它将显示已注册变量的内容。 …

ansible ansible-2.x

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

在 Ansible 中获取符号链接目标的完整路径

如何在 Ansible 中获取符号链接目标的完整路径?我正在尝试清理文件夹——删除超过x天的文件,但我不想删除特定文件符号链接的目标。我的计划是获取符号链接目标,然后在使用find模块时将该值用作排除目标。

符号链接目标会不时更改。我尝试使用该stat模块,但它不能解决我的要求。

ansible

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

ElementTree XML 解析和 urllib2.urlopen

我正在使用以下方法打开 URL:

response = urllib2.urlopen(url, data, timeout=_TIMEOUT)
Run Code Online (Sandbox Code Playgroud)

并使用response.read(),它提供以下输出:

<XMLlookup licenseid="X4X6X42" reason="OK" status="1" />
Run Code Online (Sandbox Code Playgroud)

但是当我想使用 ElementTree 解析它时,如下所示:

print response.read()
t = ET.parse(response)
r = t.getroot()
print r.attrib.get('status')
Run Code Online (Sandbox Code Playgroud)

给我以下错误消息:

File "<string>", line 62, in parse
File "<string>", line 38, in parse
cElementTree.ParseError: no element found: line 1, column 0
Run Code Online (Sandbox Code Playgroud)

但是当我删除该行时response.read(),代码工作正常。我究竟做错了什么?

python xml urllib2 elementtree celementtree

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

循环行为时帮助Python

我有一个脚本,使用一个简单的while循环来显示进度条,但它似乎没有像我预期的那样工作:

count = 1
maxrecords = len(international)
p = ProgressBar("Blue")
t = time
while count < maxrecords:
    print 'Processing %d of %d' % (count, maxrecords)
    percent = float(count) / float(maxrecords) * 100
    p.render(int(percent))
    t.sleep(0.5)
    count += 1
Run Code Online (Sandbox Code Playgroud)

它似乎在"p.render ..."循环,并且不会回到"打印'处理%d的%d ...'".

更新:我的道歉.ProgressBar.render()在呈现进度条时会删除"print'Processing ..."的输出.进度条来自http://nadiana.com/animated-terminal-progress-bar-in-python

python while-loop

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