我正在使用pywin32扩展来访问Python下的win32api。我是用Python编写Windows编程的新手——我是一个POSIX的人——所以我可能是在用一种头脑简单的方式做事。在

我试图正确地使用win32file.ReadFile函数,在解释可能的结果代码时遇到了一些问题。在

我这样调用函数:result, data = win32file.ReadFile(child_stdout_r, 4096, None)

我正在读取我启动的子进程的输出。我得到了很好的数据,但我担心管道中的数据可能多于4096个字符。(我宁愿正确地执行此操作,而不是选择任意大的缓冲区大小。)

如果要读取的字符数超过4096个,则需要运行win32文件.ReadFile好几次直到我把管子排气。为了确定是否需要多次运行ReadFile,我需要解释结果代码。在The result is a tuple of (hr, string/PyOVERLAPPEDReadBuffer), where hr may be 0, ERROR_MORE_DATA or ERROR_IO_PENDING.

因为我在函数调用中将overlapped值设置为None,所以我不需要担心任何PyOVERLAPPEDReadBuffer的东西。(既然我得到了有效的数据,我想我是对的。)

我对hr结果变量有两个问题:我在任何地方都找不到ERROR_MORE_DATA或ERROR_IO_PENDING常量的值。在

ActiveState文档似乎暗示0表示成功,常量(无论是什么)表示失败。Microsoft docs状态,0表示失败,非零表示成功,您需要运行GetLastError来了解更多信息。在

正确的方法是什么?在

编辑后添加:我没有使用子流程,因为我需要将子流程添加到我创建的作业对象中。目标是使所有子进程在父进程死亡时立即死亡。通过将子进程添加到job对象,子进程将在job对象的最后一个句柄关闭时终止。当父对象退出时,由父对象持有的句柄将关闭。据我所知,所有这些都使我无法使用子流程。在

python readfile 管道_使用win32的正确方法是什么文件.ReadFile从管道中获取输出?相关推荐

  1. python篮球弹跳训练方法_弹跳训练的正确方法,90%人都不知道|NBA球队弹跳训练解密...

    原标题:弹跳训练的正确方法,90%人都不知道|NBA球队弹跳训练解密 篮球比赛中,抢篮板球是最重要的基本功之一,除去意识.卡位.配合等因素外,球员的弹跳是基础中的基础,因此必须加强弹跳力的训练. 这里 ...

  2. python 菜品识别_一种菜品识别方法与流程

    本发明属于计算机图像识别技术,具体来说涉及一种基于卷积神经网络的用于识别菜品图像的技术方案. 背景技术: 由于图像的形成受到很多因素的影响,比如说拍摄角度.环境光线,原始图像的矩阵数据并不能被计算机分 ...

  3. python线程暂停_关于多线程:如何使“停止”按钮终止已经在Tkinter中运行的“开始”功能(Python)...

    我正在使用带有两个主要按钮的Tkinter制作GUI:"开始"和"停止". 您能否为以下代码提供建议,以使"停止"按钮终止由"开始 ...

  4. python输入输出字符串_在线等 python--编写下列程序。 用户输入一段字符串,输出该字符串的长度小写大写形式...

    import binascii # python>=3.7 str_in = input('请输入一个字符串:') print(f'长度:{len(str_in)}\n' f'大写:{str_i ...

  5. python 内置模块 增加_模块的内置方法--Python提高班

    这期的话题有点简单, 整理下常见的模块内置方法 刚开始学Python的时候, 看到if __name__ == '__main__': main()就不明觉厉了, 一直好奇__name__这货到底是个 ...

  6. 蒙特卡洛python求解派_利用蒙特卡洛(Monte Carlo)方法计算π值[ 转载]

    圆周率π是一个无理数,没有任何一个精确公式能够计算π值,π的计算只能采用近似算法. 国际公认的π值计算采用蒙特卡洛方法. 一.蒙特卡洛方法 蒙特卡洛(Monte Carlo)方法,又称随机抽样或统计试 ...

  7. python无法打开excle_python – xlsxwriter模块无法正确打开/关闭Excel文件

    我正在编写一个程序,使用xlsxwriter模块将数据写入Excel文件. 打开工作簿的代码是: excel = xlsxwriter.Workbook('stock.xlsx') 这曾经工作过.然后 ...

  8. linux 正确错误输出_报告错误的正确方法

    linux 正确错误输出 您知道,在Zerocracy ,您是程序员还是测试员, 我们将为您发现并报告的每个错误付费 . 好吧,不完全是. 我们为项目设计师认为足以支付的每个错误报告付费. 根据政策第 ...

  9. python象限判断_玩数据之数据方法篇—四象限分析法—附EXCEL+Python案例

    一. 怎么使用(二维)四象限分析 案例一,以一个电子商务公司为例,老板需要评估销售的商品类别的整体情况.那么,参考二维四象限分析的套路--直接可以按照销售金额,以及销售利润两个方面进行(具体直接套用下 ...

最新文章

  1. PyTorch框架:(1)基本处理操作
  2. git apply、git am打补丁.diff 和 .patch
  3. 计算音频数据音量_【翻译】线性的音量推子……简直像一个个秤砣!
  4. 学习笔记之-php编码技巧
  5. 以及其任何超类对此上下文都是未知的_web前端入门到实战:Javascript 中的「上下文」你只需要看这一篇
  6. tron区块链php对接,Tron区块链技术 - Tron智能合约概述
  7. python 读取json为list及向json文件追加数据
  8. Integer注意_享元设计模式
  9. VB 几种打开文本文件速度对比
  10. 进一步优化SPA的首屏打开速度(模块化与懒载入) by 嗡
  11. 用Lucene[1].net对数据库建立索引及搜索+
  12. vb计算机安装教程,windows10系统安装vb6.0图文教程 Win10攻略
  13. java 物联网项目_物联网工程综合实践-JAVA WEB开发.ppt
  14. cv2.cvtColor报错
  15. KETTLE使用通配符匹配多个文件输入到一张表中
  16. 新元宇宙每周连载《地球人奇游天球记》第十七回海王会龙
  17. 计算机课excel,计算机excel教学课件.doc
  18. 安阳工学院计算机专业宿舍,安阳工学院宿舍条件,宿舍环境图片(10篇)
  19. SQL语句练习——查询
  20. ✨ StarRocks 11 月社区动态

热门文章

  1. Flink教程(20)- Flink高级特性(双流Join)
  2. 设置共享显示没有启动服务器服务,共享文件夹的时候提示 服务器没有启动这个服务 是怎么一回事??...
  3. 教育行业oa办公软件哪个好?
  4. Excel统一将多种段落标记号替换为黑方块的操作
  5. 【数据结构】数据结构练习题5——查找+排序
  6. 杰理之SRRC认证【篇】
  7. PHP+MySQL制作留言板
  8. 【python】TensorFlow框架下CNN神经网络的花卉识别系统
  9. 毫米波点云和摄像头坐标系转换
  10. CHM电子书反向编译器及注册机