python stdin和input标准输入

一.python中的stdin

              

             python中使用sys.stdin.readline()可以实现标准输入,注意默认输入的是字符串(注意这里的strip('\n')表示以\n分隔,否则输出是“字符串+\n”的形式 ),如果是int,float类型则需要强制转换。

       如果是多个输入,strip()默认是以空格分隔,返回的是一个包含多个字符串的list,如果要强制转换成int等类型,可以调用map()函数。

结果如下:

          

.python中的input

        

结果:

            

input()方法和stdin()类似,不同的是input()括号内可以直接填写说明文字。

### Python 中不使用 `input` 函数获取用户输入的替代方法 在某些情况下,可能需要避免直接使用 `input()` 函数来接收用户的键盘输入。以下是几种常见的替代方案: #### 1. **命令行参数** 可以通过 `sys.argv` 来捕获运行脚本时传递的命令行参数。这允许用户在启动程序时提供输入。 ```python import sys if len(sys.argv) > 1: user_input = sys.argv[1:] print(f"User provided arguments: {user_input}") else: print("No arguments were passed.") ``` 这种方法适用于简单的批处理任务或自动化场景[^5]。 #### 2. **文件读取** 如果用户希望提前准备好输入数据并存储在一个文件中,则可以在程序中通过读取该文件的内容作为输入源。 ```python with open('data.txt', 'r') as file: content = file.read() print(content) ``` 这种方式适合于批量处理大量预定义的数据集[^6]。 #### 3. **环境变量** 利用操作系统的环境变量机制也可以实现无交互式的输入方式。例如,在 Linux 或 macOS 上设置一个名为 `MY_VAR` 的环境变量后,Python 脚本能轻松访问它。 ```bash export MY_VAR="Hello from env" ``` 随后在 Python 程序里这样调用: ```python import os env_var = os.getenv('MY_VAR') print(env_var) ``` 此技术特别适合配置敏感信息或者固定不变的信息传递[^7]。 #### 4. **GUI 应用中的控件事件绑定** 对于图形界面应用程序开发而言,通常会采用 Tkinter、PyQt 这样的库构建 GUI 并监听特定组件触发的动作完成数据收集工作而不是依赖传统的控制台流式接口。 下面是一个简单例子展示如何借助按钮点击行为获取文本框里的内容代替传统意义上的标准输入流程: ```python from tkinter import * def get_text(): result.set(entry.get()) root = Tk() entry = Entry(root) entry.pack(padx=10,pady=10) button = Button(root,text='Get Input',command=get_text) button.pack(side=BOTTOM,padx=10,pady=10) result = StringVar() Label(root, textvariable=result).pack() mainloop() ``` 上述代码片段展示了基于窗口的应用怎样脱离常规 stdin/stdout 对话模式而运作[^8]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值