小编JFl*_*Flo的帖子

使用asyncio子进程时是否可以设置管道的缓冲区大小?

我正在写一个相当复杂的脚本正在使用

asyncio.create_subprocess_exec(sub_cmd, *sub_cmd_args, stdout=PIPE, stderr=PIPE)
Run Code Online (Sandbox Code Playgroud)

包装另一个Python程序 - 我无法永久修改或直接包含 - 捕获其stdout/err进行日志记录.包装的Python脚本没有使用-u(unbuffered)选项,因此包装器程序倾向于登录大缓冲块.如果这是常规子进程.Popen我可以传递bufsize=1给我想要的东西,即行缓冲.但是,如果我将它添加到asyncio.create_subprocess_exec(),他们会特意陷阱,我得到:

<snip>
  File "/usr/lib64/python3.4/asyncio/subprocess.py", line 193, in create_subprocess_exec
    stderr=stderr, **kwds)
  File "/usr/lib64/python3.4/asyncio/base_events.py", line 642, in subprocess_exec
    raise ValueError("bufsize must be 0")
ValueError: bufsize must be 0
Run Code Online (Sandbox Code Playgroud)

我认为他们的陷阱是有充分理由的,所以我想知道是否还有其他一些方法可以影响传输缓冲.

python buffering

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

如何根据外表中的值为django TabularInline动态设置max_num?

考虑以下数据模型:

class Model(models.Model):
    """A specific model of managed network switch. """
    name = models.CharField(max_length=20)
    port_count = models.IntegerField()

class Switch(models.Model):
    """A deployed instance of a managed network switch."""
    model = models.ForeignKey(Model)
    name = models.CharField(max_length=14)

class Port(models.Model):
    """A port on a deployed instance of a managed network switch."""
    switch = models.ForeignKey(Switch)
    number = models.IntegerField()
    ip_address = models.GenericIPAddressField(
        protocol='IPv4', verbose_name='IP address')
    netmask = models.GenericIPAddressField(protocol='IPv4')
    vlan = models.IntegerField(verbose_name='VLAN')
Run Code Online (Sandbox Code Playgroud)

我想要我的管理页面,以便在Switch下内联端口.所以我有:

class PortInLineAdmin(admin.TabularInline):
    model = Port
    extra = 8
    max_num = 48

class SwitchAdmin(admin.ModelAdmin):
    inlines = …
Run Code Online (Sandbox Code Playgroud)

django django-admin

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

具有相关历史记录的部分 git 克隆

假设我已经编写了无数个 puppet 模块,并且我在一个 git 存储库中拥有它们的全部历史记录,但现在我真的希望为每个模块创建一个存储库。划分文件结构很容易,因为每个文件都完全包含在自己的目录中,并且组织方式类似于GIT_ROOT /modules/ NAME

有没有一种方法可以分割这个存储库而不丢失每个模块的历史记录?理想情况下,每个存储库仅具有与其代表的模块相关的历史记录。我尝试克隆整个事物以及git rm -rf所有不相关但保留不相关历史的内容。

我计划用 git 子模块将它们重新粘在一起,FWIW。

git

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

标签 统计

buffering ×1

django ×1

django-admin ×1

git ×1

python ×1