码迷,mamicode.com
首页 > 其他好文 > 详细

第九章-IO编程

时间:2017-04-20 20:47:40      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:bytesio   htm   environ   计算   class   需要   mdi   逆向   http   

IO是输出输入的意思

在计算机中常用到的数据交换的地方是磁盘, 网络等

输入流是从外面(磁盘, 网络)流进内存

输出流是从内存流到外面(磁盘, 网络)

同步IO是指等待IO完成再继续执行

异步IO是在IO操作的时候CPU继续执行别的工作

同步和异步的区别就在于是否等待IO执行的结果

1 文件的读写

  文件的操作见我

2 StringIO和BytesIO

2.1 StringIO

  通过导入io模块来获得StringIO

  StringIO是在内存中读取str

  通过write()写入内容

  通过getvalue()方法获得的得到的内容str

  同样可以逆向操作, 读内存str, 此时可以使用read()和readline()方法

  具体操作如下

from io import StringIO

str = StringIO()
str.write("hello")
str.write(" ")
str.write("world")
print(str.getvalue())
str = StringIO(‘Hello!\nHi!\nGoodbye!‘)
print(str.read())

2.1 BytesIO

  StringIO操作的只能是str, 如果要操作二进制数据, 就需要使用BytesIO

  同样需要通过导入io模块来获得BytesIO   

  在Python中str类型是Unicode, 想要获得bytes需要使用encode方法会编码

  获得bytes内容用getvalue()

  读取bytes内容用read()

  具体实例如下

from io import BytesIO

f = BytesIO()
f.write(‘中文‘.encode(‘utf-8‘))
print(f.getvalue())
# b‘\xe4\xb8\xad\xe6\x96\x87‘

f = BytesIO(b‘\xe4\xb8\xad\xe6\x96\x87‘)
print(f.read())

3 操作文件和目录

  导入os模块可以实现操作系统的dir, cp等功能

import os

  查看操作系统类型, posix是Linux系列操作系统, nt是win系列系统

os.name

  获取详细系统信息, unama()只是linux系统有

os.uname()

  查看环境变量

os.environ

  要获取某个环境变量的值

os.environ.get(‘PATH‘)

  查看当前目录的绝对路径

os.path.abspath(‘.‘)

  创建目录

os.mkdir(‘/Users/michael/testdir‘)

  删除目录

os.rmdir(‘/Users/michael/testdir‘)

  

    

 

第九章-IO编程

标签:bytesio   htm   environ   计算   class   需要   mdi   逆向   http   

原文地址:http://www.cnblogs.com/weihuchao/p/6740653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!