python脚本输入输出交互控制

本文介绍Python中实现输入输出交互的方法,包括手动输入、文件输入及定向输出。通过sys模块和内置函数实现不同场景下的交互需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python作为一种脚本语言,首先完成的工作是编写脚本。在平时编写脚本的过程中,我们注意到,时常需要与外界交互完成,比如人工手动输入(如程序参数)、导入外部文件、定向输入等。所以,这需要脚本与外界有较好的输入输出交互。

python应对此类问题的模块有sys,StingIO等。

1. 手动输入
这里用到了 sys模块的argv属性,举例:
=========================
#! /usr/bin/env python
# python script argvtest.py
import sys
usrargv = sys.argv
print usrargv
=========================
运行脚本
chmod +x argvtest.py
./argvtest.py -a -b -c
['./argvtest.py', '-a', '-b', '-c']
可以看到,sys.argv将返回一个列表,包括脚本文件名和参数。这时,可以提取列表中的有效信息,进行不同的功能实现。

raw_input( )函数同样提供了一个简单的输入接口,以下是一个简单的脚本rawinputtest.py:
===============================
while True:
    a = raw_input('Enter your words: ')
    if a == 'stop':
        break
    print a
================================
这个脚本可以一直输入,直到遇见'stop'。所以,可以输入一个列表,之后获取列表中的各个元素作为程序的执行参数。

2. 输入文件
python输入文件当然可以采用最直接的 open( )函数读如文件,这里提供另一个方法,从系统shell导入文件。使用 sys 模块的stdin属性。举例,先建立一个文本文件sdintest:
============================
'abc'
['hello', 'python']
{'python': 'script', 'R': 'function'}
============================
建立输入脚本inoutput.py:
============================
import sys
a = sys.stdin.readline()
b = sys.stdin.readline()
print a, b
=============================
执行脚本
python inoutput.py < sdintest
'abc'
['hello', 'python']
注意:这种脚本建立方法,不能将脚本建立为可执行文件( 为什么?)。

3. 定向输出
两种方法:1. 可以使用带有write方法的对象,之后配合print。比如将sys.stdput作为一个打开的可写文件,然后使用print依次输入。同样,这种方法可以被语句 print >>  myfile ,   obj1 ,  obj2代替。2. 当然,也可以使用shell的">"定向输入文件,比如:
python inoutput.py < sdintest > sdouttest
将得到文件定向输入sdouttest文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值