小编Osc*_*car的帖子

无缓冲读取子进程的标准输出

我正在尝试读取Node.js启动的Python脚本的输出。但是,只有在过程完成后,我才能访问数据。

var proc, args;

args = [
    './bin/build_map.py',
    '--min_lon',
    opts.sw.lng,
    '--max_lon',
    opts.ne.lng,
    '--min_lat',
    opts.sw.lat,
    '--max_lat',
    opts.ne.lat,
    '--city',
    opts.city
];

proc = spawn('python', args);

proc.stdout.on('data', function (buf) {
    console.log(buf.toString());
    socket.emit('map-creation-response', buf.toString());
});
Run Code Online (Sandbox Code Playgroud)

如果使用{stdio:'inherit'}启动该过程,则可以直接在控制台中看到输出。但是做类似process.stdout.on('data',...)的事情是行不通的。

如何确保子进程到达时可以读取子进程的输出并将其定向到其他地方?

node.js socket.io

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

NestJS 参数装饰器返回类型

有什么方法可以推断路由处理程序方法中参数装饰器的返回类型吗?

装饰UserName器返回 a string,但路由参数是any

在此输入图像描述

typescript nestjs

7
推荐指数
0
解决办法
1416
查看次数

如何仅使用syncdb同步自定义权限?

是否可以让manage.py syncdb命令仅将同步自定义权限同步到auth_permission表中?我不想默认安装的应用程序模型3组的权限,即foo.add_bar,foo.change_bar,foo.delete_bar.我在我的模型类中指定了自定义权限,例如django文档建议:

class Meta:
    permissions = (
        ("admin", "Can create/edit/delete projects"),
        ("user", "Can view projects"),
    )
Run Code Online (Sandbox Code Playgroud)

谢谢!

django django-models

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

使用Python读取存储在文本文件中的MIME消息

我有一个存储在'text/plain'文件中的MIME消息,如下所示:

http://pastebin.com/sPWWC9LL

MIME消息应该是多部分消息.

我如何在Python中解析这个?我已经尝试过email.message_from_string(),但它仍然编码为'text/plain',因此我无法使用电子邮件库来解析它.

我的代码看起来像这样:

f = open(settings.MEDIA_ROOT + '/raw.txt', 'r')
msg = email.message_from_string(f.read())
i = 1

for part in msg.walk():
    if part.get_content_maintype() == 'multipart':
        continue

    ext = mimetypes.guess_extension(part.get_content_type())
    filename = 'part-%03d%s' % (i, ext)

    fp = open(settings.MEDIA_ROOT + '/' + filename, 'wb')
    fp.write(part.get_payload(decode=True))
    fp.close()
    i += 1
Run Code Online (Sandbox Code Playgroud)

我会非常感谢任何帮助!

python mime

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

标签 统计

django ×1

django-models ×1

mime ×1

nestjs ×1

node.js ×1

python ×1

socket.io ×1

typescript ×1