Python IO 编程

IO在计算机中指的是Input/Output,也就是输入输出,在涉及到数据交换的地方,通常是磁盘、网络等,都需要用到IO接口。通常,程序完成IO操作会有Input和Output两个数据流。IO编程中,Stream是一个很重要的概念,Input Stream是指数据从外面(磁盘、网络)流进内存,Output Stream就是数据从内存流到外面。

  1. 文件读写
    在进行文件操作时,容易产生IOError,所以示例代码都是用try…finally代码块。
    • 读文件
try:
       f=open(path,'r')
       print(f.read())
  finally:
       if f:
           f.close()

代码可以简化为:

with open(path,'r') as f:
        print(f.read())
  • 写文件

    try:
        f=open(path,'w')
        f.write('File write')
    finally:
        if f:
            f.close()

    同样,写文件可以简化为如下with代码:

    with open(path,'w') as f:
        f.write('File Write Test')
    1. StringIO 和 BytesIO
  • StringIO
    StringIO的作用是往内存中写入字符串,如下:

    from io import StringIO
    f=StringIO('Hello!\nHi!\nGoodBye!')
    while True:
    s=f.readline()
    if s=='':
        break
    print(s.strip())

    输出结果:

    Hello!
    Hi!
    GoodBye!
  • BytesIO
    BytesIO可以操作二进制数据,如下:

    from io import BytesIO
    f=BytesIO()
    f.write('中文'.encode('utf-8'))
    print(f.getvalue())

    输出结果:

    b'\xe4\xb8\xad\xe6\x96\x87'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PythonIO编程指的是Python程序对文件、网络等输入输出流的操作。Python提供了多种方式进行IO操作,包括文件读写、网络通信、标准输入输出等。 1. 文件读写 Python中最基本的IO操作就是文件读写。使用Python内置的open函数可以打开一个文件,指定文件名和操作模式(读、写、追加等),然后使用read、write等方法进行读写操作。 例如,以下代码打开文件example.txt,将其中的内容读入到变量content中,并将content输出到控制台: ``` with open('example.txt', 'r') as f: content = f.read() print(content) ``` 2. 网络通信 Python可以通过socket模块进行网络通信。使用socket模块创建一个socket对象,然后调用其connect、send、recv等方法进行网络通信。 例如,以下代码创建一个TCP连接,向远程服务器发送一条消息,然后接收服务器返回的消息并输出到控制台: ``` import socket HOST = '127.0.0.1' PORT = 8000 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) s.sendall(b'Hello, world') data = s.recv(1024) print(f'Received {data.decode()}') ``` 3. 标准输入输出 Python的标准输入输出包括控制台输入输出和文件描述符输入输出。使用input函数可以从控制台读取用户输入,使用print函数可以将输出打印到控制台。 例如,以下代码从控制台读取一个字符串,将其转换为整数并输出到控制台: ``` s = input('Please enter a number: ') n = int(s) print(f'The number is {n}') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值