pipe - Julia - 替代 readandwrite()
问题描述
我正在尝试在 Julia 中打开并写入外部应用程序。根据我的研究,我发现曾经有一个名为 readandwrite() 的函数可以轻松完成这项任务。但是,该功能似乎在早期版本中已被弃用。
我尝试使用 pipeline() 命令和 run() 收效甚微。我也尝试打开它并使用 write() 写入它,但 write 不需要 IOstream。我一直在这里并尝试了代码片段,但似乎没有一个工作。其他的我不知道把文件的路径放在哪里。
p=open(pipeline(`./$xPath`; stderr=Pipe()), "r")
(Pipe(RawFD(-1) closed => RawFD(20) open, 0 bytes waiting), Process(`./$xPath`, ProcessExited(0)))
其中 xPath 是包含文件路径的字符串(“xfoil.exe”) 此代码返回未知错误,并且无法生成可执行文件。任何帮助将不胜感激,因为我在打开此文件时遇到了困难。谢谢。
解决方案
在 Julia 0.7 上运行,您会收到以下警告:
julia> readandwrite(`ls`)
[ Warning: `readandwrite(::Cmd)` is deprecated in favor of `open(::Cmd, "r+").
[ You may read/write the returned process object for access to stdio.
所以替换是:
p = open(`ls`, "r+")
然后使用read
and write
。p
推荐阅读
- python - Keras 错误:无法将符号 Keras 输入/输出转换为 numpy 数组
- bash - 如何为bash脚本上的文件传递超链接的行号
- python - 如何防止kivy登录文件
- mysql - 如何使用 knex 从 mysql 中的 ARRAY_AGG 中删除引号
- visual-c++ - 代码分析警告 (C26426) 和使用 RegisterWindowMessage - 如何解决?
- docker - 如何在单个 Gitlab CI 作业中拥有多个 docker 容器?
- javascript - 使用 JavaScript 返回大数据数组中的重复对象
- reverse-engineering - DBI Frida Stalker 不跟踪指令
- javascript - Express.js - 待处理的承诺阻止并延迟 express 中的下一个 GET 请求(Node.js)
- gsap - 当移动响应视图设置为触摸模拟和在实际移动设备上时,Bulma 和 scrollTrigger 更改/中断