Python标准输入输出

本文介绍了如何在Python中通过IDE和终端运行程序,以及程序与用户交互的输入和输出方法,重点比较了`sys.stdin.readline`与`input`以及`sys.stdout.write`与`print`之间的区别。同时区分了输入输出与使用open函数打开文件的目的。
摘要由CSDN通过智能技术生成

 程序运行与程序交换

"""
** 运行Python程序
有两种方式,一是在IDE中运行,直接点击运行选项即可;二是通过终端运行,在终端输入命令,
python program_name.py,程序开始运行。

** 与程序进行交互,会涉及到输入和输出。
输入有两种方式,一是通过键盘逐字敲打输入;二是先把要输入的内容放到文本文件中,然后通过操作系
统终端输入重定向从文件输入。输入重定向符号,<。
终端输入重定向命令,
python program_name.py < infile_name.txt
同样输出也有两种方式,一是程序输出内容到终端;二是通过终端输出重定向程序把内容输出到文本文件。
输出重定向符号,>。
终端输出重定向命令,
python program_name.py > outfile_name.txt
终端输入输出重定向命令,
python program_name.py < infile_name.txt > outfile_name.txt

** 标准输入sys.stdin.readline与input的区别
sys.stdin.readline返回的字符串带换行符\n,input返回的字符串不带换行符\n。

** 标准输出sys.stdout.write与print的区别
sys.stdout.write()参数只能是字符串,即只能输出字符串格式的内容;而print()函数,可以输出
任意格式的内容。

** 输入输出与通过open函数打开文件不同
输入输出是为了与程序进行交互,向程序输入内容,或是程序向外输出内容。
open函数打开文件是为了进行文件阅读或编辑。
如,程序执行到input函数或sys.stdin.readline函数时,一直处于等待输入状态,只有输入内容才会
继续执行之后的代码,这是交互。程序执行到open函数时,自动打开文件对象或创建文件对象,并不会处于
等待输入的状态。
"""

从文件输入

import sys

ls =[]
while True:
    line = sys.stdin.readline()  # 标准输入,读取输入的一行文本,返回字符串包括行尾换行符\n
    if not line:                 # 读完文件后返回空字符串
        break
    parts = line.split()     
    # parts = line.strip('\n').split(' ')  
    ls.append(parts)
sys.stdout.write(str(ls))  # 标准输出,参数只能是字符串
sys.stdout.flush()         # 清空标准输出流的缓冲区,强制把内容输出
                           # 程序输出内容时并不是直接逐条输出内容到终端或文件,而是先存储在缓冲区,
                           # 然后在合适时间一次性输出内容,这样的机制效率更高

从键盘输入

import sys

ls =[]
# 通过键盘输入内容和从文件输入内容两者的结束条件不同
while True:
    line = sys.stdin.readline()  # 读取输入的一行文本,返回字符串包括行尾换行符\n
    if line == '\n':             # 没有输入其他内容,只按回车键返回换行符\n    
        break
    parts = line.split()     
sys.stdout.write(str(ls))  
sys.stdout.flush()

input与sys.stdin.readline区别

import sys

# input与sys.stdin.readline的区别
ls1 = []
c = input()               # 程序等待输入时直接按回车,返回空字符串
ls1.append(c)
print(ls1)

ls2 = []
c = sys.stdin.readline()  # 程序等待输入时直接按回车,返回换行符\n
ls2.append(c)
print(ls2)
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值