Юлия - замена для чтения и записи () - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь открыть и написать внешнее приложение в Юлии.Из моего исследования я обнаружил, что существует функция readandwrite (), которая легко справится с этой задачей.Однако, похоже, что эта функция устарела в более раннем выпуске.

Я пытался использовать команду pipe () и 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"). Этот код возвращает неизвестную ошибку и не может вызвать исполняемый файл.Буду признателен за любую помощь, так как я ударил стену с открытием этого файла.Спасибо.

1 Ответ

2 голосов
/ 04 апреля 2019

Работая на 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 и write на p.

...