当前位置: 首页 > news >正文

南宁网站建设加q.479185700app推广渠道在哪接的单子

南宁网站建设加q.479185700,app推广渠道在哪接的单子,网站如何解除绑定域名,龙湖镇华南城网站建设目录 专栏列表引言基础概念什么是IO? 同步IO vs 异步IO同步IO(Synchronous IO)异步IO(Asynchronous IO) Python中的IO标准IO标准输入和输出 文件IO文件操作的上下文管理器打开文件读取文件操作内存中的数据 高级文件操…

目录

    • 专栏列表
    • 引言
    • 基础概念
      • 什么是IO?
    • 同步IO vs 异步IO
      • 同步IO(Synchronous IO)
      • 异步IO(Asynchronous IO)
    • Python中的IO
    • 标准IO
      • 标准输入和输出
    • 文件IO
      • 文件操作的上下文管理器
      • 打开文件
      • 读取文件
      • 操作内存中的数据
    • 高级文件操作
      • 读写二进制文件
      • 使用文件指针
    • 网络IO
      • 使用`requests`库
      • 使用`socket`库
    • 异常处理
    • 总结
    • 参考文献

专栏列表

  • Python教程(十):面向对象编程(OOP)
  • Python教程(十一):单元测试与异常捕获
  • Python教程(十二):面向对象高级编程详解
  • Python教程(十三):常用内置模块详解
  • Python教程(十四):Requests模块详解

在这里插入图片描述

正文开始如果觉得文章对您有帮助,请帮我三连+订阅,谢谢💖💖💖


引言

IO在计算机中指Input/Output,也就是输入和输出。输入输出(IO)是计算机程序与外部世界交互的基本方式。在Python中,IO编程涉及到文件读写、网络通信等操作。

基础概念

什么是IO?

IO是Input/Output的缩写,即输入和输出。在编程中,IO操作包括从用户那里获取输入(如键盘输入)和向用户发送输出(如屏幕显示或文件写入)。
在这里插入图片描述
在这里插入图片描述

同步IO vs 异步IO

同步IO(Synchronous IO)和异步IO(Asynchronous IO)是两种不同的IO操作模式同步IO简单但效率可能较低,特别是在IO密集型的应用中。异步IO可以提高效率和并发性,但编程模型更复杂。

同步IO(Synchronous IO)

在同步IO中,当一个IO操作(如读取文件、网络请求)发起时,发起请求的线程会被阻塞,直到IO操作完成。这意味着在等待IO操作完成的过程中,线程不能执行其他任务。

程序发起IO请求
等待IO操作完成
接收IO结果

特点:

  • 简单直观,容易理解和实现。
  • 线程在IO操作完成前被阻塞,不能做其他事情。

异步IO(Asynchronous IO)

异步IO允许程序在发起IO请求后立即去做其他事情,而不需要等待IO操作完成。当IO操作完成时,操作系统会通知程序,或者通过回调函数、事件、或未来(promises)等方式来处理结果。

继续执行
IO完成通知
程序发起IO请求
执行其他任务
操作系统
处理IO结果

程序发起IO请求后,不是等待IO操作完成,而是继续执行其他任务。当操作系统通知IO操作完成时,程序再处理IO结果。

特点:

  • 非阻塞,提高程序的并发性能。
  • 编程模型相对复杂,需要处理回调、事件循环等。

Python中的IO

Python提供了多种IO操作的方式,包括:

  • 标准IO:使用input()函数从标准输入读取数据,使用print()函数向标准输出发送数据。
  • 文件IO:使用内置的open()函数来打开文件,并进行读写操作。
  • 网络IO:通过第三方库如requests进行网络请求,或使用内置库如socket进行底层网络通信。

标准IO

标准输入和输出

在Python中,可以通过input()函数读取用户输入的字符串,并通过print()函数输出信息到控制台。

# 标准输入示例
user_input = input("请输入你的名字:")
print("你好," + user_input + "!")

文件IO

文件操作的上下文管理器

with语句提供了一种优雅的方式来处理文件操作,它可以自动关闭文件,即使发生异常也是如此。不用我们每次都像下面这样写, 需要手动去捕获异常,然后关闭文件

try:f = open('example.txt', 'r') print(f.read())
finally:if f:f.close()

打开文件

使用open()函数可以打开一个文件,并指定操作模式,如'r'(只读)、'w'(只写)、'a'(追加)等。

# 打开文件示例
with open('example.txt', 'w') as file:file.write("Hello, IO!")

读取文件

使用open()函数打开文件后,可以读取文件内容。

# 读取文件示例
with open('example.txt', 'r') as file:content = file.read() print(content)

调用readlines()一次读取所有内容并按行返回list

for line in f.readlines():print(line.strip()) # 把末尾的'\n'删掉

操作内存中的数据

很多时候,数据读写不一定是文件,也可以在内存中读写 , StringIO顾名思义就是在内存中读写str,StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO

from io import StringIO,BytesIOs = StringIO()
s.write('Hello')
s.write(' -- ')
s.write('World')
print(f'获取内存s的值:{s.getvalue()}')# BytesIO
f = BytesIO()
f.write('中文'.encode('utf-8'))
print(f'获取内存f的值:{f.getvalue()}')

在这里插入图片描述

高级文件操作

读写二进制文件

除了文本文件,Python也可以读写二进制文件。

# 写入二进制文件示例
with open('image.png', 'wb') as file:file.write(b'\x89PNG\r\n\x1a\n')# 读取二进制文件示例
with open('image.png', 'rb') as file:data = file.read()

使用文件指针

可以控制文件指针的位置,实现文件的随机访问。

with open('example.txt', 'r+') as file:file.seek(0, 2)  # 移动到文件末尾file.write(" New content")

网络IO

使用requests

  • 可以参考前文:Python教程(十四):Requests模块详解
  • requests是一个简单易用的HTTP库,可以用来发送网络请求。
import requestsresponse = requests.get('https://baidu.com')
print(response.text)

使用socket

socket是Python的底层网络通信库,可以用来实现TCP/IP通信。

import socket# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('www.example.com', 80))
s.send(b'GET / HTTP/1.1\r\nHost: www.example.com\r\n\r\n')
response = s.recv(1024)
s.close()
print(response.decode())

异常处理

在进行IO操作时,可能会遇到各种异常,如文件不存在、网络连接错误等。使用try...except语句可以捕获并处理这些异常。

try:with open('nonexistent.txt', 'r') as file:file.read()
except FileNotFoundError:print("文件不存在")

总结

IO编程是Python编程中的一个重要组成部分。从简单的标准IO到复杂的文件和网络IO,Python提供了丰富的功能和库来支持各种IO操作。掌握这些技能,可以帮助你构建更加强大和灵活的应用程序。

参考文献

  • Python官方文档关于IO的部分。
  • requests官方文档。
  • socket编程的详细教程。
http://www.hrbkazy.com/news/4163.html

相关文章:

  • 深圳营销型网站建设服务哪家好百度搜索引擎
  • 自己做购物网站好吗数据库营销
  • 网站建设服务器篇网站seo优化建议
  • 齐诺网站建设东莞网站建设做网站石家庄疫情最新消息
  • 附近网站建设公司做网络推广有前途吗
  • 怎么使用wordpress主题百度信息流优化
  • 出口网站平台静态网站开发
  • 娱乐平台类网站怎做关键词美业推广平台
  • 苏州做网站推广的做电商需要学哪些基础
  • 加强政府网站建设的意见漯河seo推广
  • 一个空间如何做2个网站百度竞价排名广告定价
  • 北京欢迎你网站建设上海快速排名优化
  • 学校门户网站建设工作营销公司取名字大全
  • 福永镇网站建设seo是搜索引擎优化
  • 哪些网站可以用来做百科参考西地那非片吃了多久会硬起来
  • 湛江手机网站建设市场调研方案怎么写
  • wordpress 侧边栏宽度百度seo搜索引擎优化培训
  • 用文字写美食个人网站设计作品引流软件下载站
  • 国内外贸公司前十名南宁seo外包靠谱吗
  • 柳州正规网站制作公司拉新推广怎么快速拉人
  • 域名怎么进入网站谷歌搜索引擎 google
  • 网站备案怎么换3d建模培训学校哪家好
  • 网站轮播图片怎么做的百度集团
  • 如何给企业做网站蜘蛛seo超级外链工具
  • 阜康网站建设下载百度浏览器
  • 南城网站建设公司方案seo 优化技术难度大吗
  • vue做pc网站西安网站建设公司十强
  • 合肥做机床的公司网站推广运营公司哪家好
  • 容桂销售型网站建设长沙seo优化推广公司
  • 厦门知名做企业网站设计的公司友情链接交换的方法