raw_input或input不通过换行完成

0 投票
2 回答
653 浏览
提问于 2025-04-16 18:05

我正在用Python语言编程Cedrat Flux(一个有限元软件)。之前我尝试的所有Python命令都没问题。但是现在我想通过命令行获取用户输入,使用的是raw_input()input()。可惜的是,在这个软件里,按下换行键或回车键并不能停止输入字符。唯一能停止输入的方法就是关闭Flux软件!

2 个回答

0

你可以把想要的数据存储在一个文件里,然后用 open(".../file").read() 这个命令来读取它。

0

raw_input(还有input,不过这里的区别不太重要)其实就是从标准输入(stdin)读取数据。你也可以手动通过sys.stdin来读取:

import sys
sys.stdin.read(1) # Read one character. '\n' means newline
sys.stdin.readline() # Read a single line, should be the same as raw_input()

如果这样做不行(也就是说,sys.stdin.read(1)也一直在等待输入,即使你已经输入了东西),那么可能是因为主程序(在你的情况下是Flux)把标准输入重定向了。你可以尝试使用主程序的某个API来连接它,或者直接获取输入。

撰写回答