小编hig*_*ost的帖子

subprocess.run()中的CompletedProcess不返回字符串

根据Python 3.5文档,subprocess.run()返回一个带有stdout成员的CompletedProcess对象,该成员包含"一个字节序列,如果使用universal_newlines = True调用run(),则返回一个字符串." 我只看到一个字节序列而不是字符串,我假设(希望)等同于文本行.例如,

import pprint
import subprocess

my_data = ""
line_count = 0

proc = subprocess.run(
         args = [ 'cat', 'input.txt' ],
         universal_newlines = True,
         stdout = subprocess.PIPE)

for text_line in proc.stdout:
    my_data += text_line
    line_count += 1

word_file = open('output.txt', 'w')
pprint.pprint(my_data, word_file)
pprint.pprint(line_count, word_file)
Run Code Online (Sandbox Code Playgroud)

注意:这使用了Python 3.5中的新功能,该功能无法在以前的版本中运行.

我是否需要创建自己的行缓冲逻辑,或者有办法让Python为我做这个吗?

python subprocess python-3.5

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

具有内连接的重复字段

我无法理解如何在不生成大量重复字段的情况下进行多表连接。

假设我有三个表:

  • 家庭:身份证、姓名
  • 父母:身份证、家庭、姓名
  • 孩子:身份证、家庭、姓名

如果我做一个简单的选择:

select family.id, family.name from family
    order by family.id;
Run Code Online (Sandbox Code Playgroud)

我得到一个简单的列表:

ID Name
1  Smith
2  Jones
3  Wong
Run Code Online (Sandbox Code Playgroud)

如果我添加内部联接:

select family.id, family.name, parent.first_name, parent.last_name
  from family
  inner join parent
  on parent.family = family.id
  order by family.id;
Run Code Online (Sandbox Code Playgroud)

我得到一些重复的字段:

ID Name   Parent
1  Smith  Howard Smith
1  Smith  Janet Smith
2  Jones  Phil Jones
2  Jones  Harriet Jones
3  Wong   Billy Wong
3  Wong   Rachel Wong
Run Code Online (Sandbox Code Playgroud)

如果我添加另一个内部联接:

select family.id, family.name, parent.first_name, parent.last_name
  from family
  inner join parent …
Run Code Online (Sandbox Code Playgroud)

sql

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

如何在一次传递中删除多个列

如何在一次通过中删除多个列?我知道这很有效

del df['A']
del df['B']
Run Code Online (Sandbox Code Playgroud)

del df[['A', 'B']]
Run Code Online (Sandbox Code Playgroud)

没有.

python pandas

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

如何格式化列表和字典理解

列表和字典理解是强大而快速的,但它们很难阅读.我的心理阅读缓冲区很快就会填满,特别是当它们被深深嵌套时.有没有办法让这些更具可读性?

python

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

隐微分符号

我一直在用 sympy 做导数,我不知道在语法上会如何写。我尝试查找它,但没有一个解决方案有意义。例如,如果我试图x**5 + y**2 + z**4 = 8xyz通过计算来区分,我该怎么做?z 是一个符号,还是一个像正则导数那样的函数?谢谢你。

python implicit sympy differentiation python-3.x

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