输入输出兼程IO操作,有同步(速度不匹配时四等)和异步(轮询和消息通知,复杂而高效)

一 文件操作函数:

文件打开:f=open("文件路径“,“操作类型 r/rb/w/a”,"编码”,“错误处理”),

文件读写:f.read/f.write/f.read(size)/f.readline()/f.readlines()

文件关闭:f.close

PICKLE模块:pickle.dump(obj,filename),pickle.load(filename)

with语句:with open函数 as f

f.read/wirte() #操作完自动关闭

二内存操作IO:

io.open("filename","操作类型“,“编码格式”)

StringIO:

>>> from io import StringIO
>>> f = StringIO('Hello!\nHi!\nGoodbye!')

ByteSIO:

>>> from io import StringIO
>>> f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
>>> f.read()
b'\xe4\xb8\xad\xe6\x96\x87'

三:操作文件和目录:在OS模块和shutil模块提供了copyfile()的函数 import os,文件路径分隔符为/

3.1创建文件夹 os.mkdir(;文件夹路径‘,‘文件夹名’) 例如在当前文件夹下创建:os.mkdir('./work'),删除文件夹os.rmdir;

切换文件夹到固定路径(只有将工作目录切换到指定的文件夹下,才可以将相关模块import进来):os.chdir("C:\\Users\\Michael\\Documents\\python\\mypython")

查看当前绝对路径:os.path.abspath('.')

  1. os.chdir("../..")#表示上两级目录
  2. os.chadir("/")则表示切换到当前文件所在的根目录下

3.2分离路径和文件:os.path.split('文件夹路径‘),分离文件名和类型:os.path.splitext('文件夹路径‘)

设置新文件的路径 os.path.join('文件夹路径‘,'文件名‘)

3.3创建文件:
  1) os.mknod("test.txt") 创建空文件
  2) open("test.txt",w)           直接打开一个文件,如果文件不存在则创建文件

3.4复制文件:
  shutil.copyfile("oldfile","newfile")       oldfile和newfile都只能是文件
  shutil.copy("oldfile","newfile")            oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

复制文件夹:
  shutil.copytree("olddir","newdir")        olddir和newdir都只能是目录,且newdir必须不存在

3.3文件重命名和删除、移动文件(目录):os.rename('test.txt', 'test.py') ;os.remove('test.py') ;shutil.move("oldpos","newpos")

判断目标
os.path.exists("goal")    判断目标是否存在
os.path.isdir("goal")     判断目标是否目录
os.path.isfile("goal")    判断目标是否文件

python学习之IO:的更多相关文章

  1. day36 python学习gevent io 多路复用 socketserver *****

    ---恢复内容开始--- gevent 1.切换+保存状态 2.检测单线程下任务的IO,实现遇到IO自动切换 Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在geven ...

  2. python学习笔记 IO 文件读写

    读写文件是最常见的IO操作.python内置了读写文件的函数. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统完成的,现代操作系统不允许普通的程序直接对磁盘进行操作,所以, 读写 ...

  3. python学习之io模块

    class io.BytesIO([initial_bytes]) 他是一个_io.BytesIO对象. 用这个类的实例可以操作内存缓冲区中的字节流. >>> s = 'hello' ...

  4. python学习之-- IO多路复用 select模块

    python I/O多路复用包括3个模块,上一篇已经说过概念,这里我使用的是select模块实现一个ftp并发 服务器端核心代码: import socket,select import queue, ...

  5. Python学习之-- IO 操作

    阻塞IO / 非阻塞IO /IO多路复用 / 异步IO 说明:同步IO包含(阻塞IO / 非阻塞IO /IO多路复用),因为他们有个共同特性就是都需要内核态到用户态的一个等待. 基本概念解释,环境限定 ...

  6. 5月2日 python学习总结 IO模型

    IO模型 1.阻塞IO 2.非阻塞IO 3.多路复用IO 4.异步IO 一.阻塞IO blocking IO的特点就是在IO执行的两个阶段(等待数据和拷贝数据两个阶段)都被block了. 实际上,除非 ...

  7. Python学习---Python的异步IO[all]

    1.1.1. 前期环境准备和基础知识 安装: pip3 install aiohttp pip3 install grequests pip3 install wheel pip3 install s ...

  8. Python学习系列(九)(IO与异常处理)

    Python学习系列(九)(IO与异常处理) Python学习系列(八)( 面向对象基础) 一,存储器 1,Python提供一个标准的模块,称为pickle,使用它既可以在一个文件中存储任何Pytho ...

  9. Python学习——多线程,异步IO,生成器,协程

    Python的语法是简洁的,也是难理解的. 比如yield关键字: def fun(): for i in range(5): print('test') x = yield i print('goo ...

随机推荐

  1. python berkeley DB操作——打开btree索引文件中的database

    打开BDB中某个索引中的数据库代码: from bsddb3 import db import bsddb3 as bsddb print db.DB_VERSION_STRING mydb = db ...

  2. 【Redis笔记(四)】 Redis数据结构 - list链表

    原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50573605 经过前面的介绍,我们学习了Redis中string字符串.hash ...

  3. UVA11624(bfs最短路)

    Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the m ...

  4. ajax展示新页面同时传递参数

    HTML页面部分代码: <div id="course" hidden></div> HTML页面中ajax代码: var selectType=$(&qu ...

  5. 【转】Oracle Freelist和HWM原理及性能优化

    文章转自:http://www.wzsky.net/html/Program/DataBase/74799.html 近期来,FreeList的重要作用逐渐为Oracle DBA所认识,网上也出现一些 ...

  6. 一、使用 BeautifulSoup抓取网页信息信息

    一.解析网页信息 from bs4 import BeautifulSoup with open('C:/Users/michael/Desktop/Plan-for-combating-master ...

  7. SparseArray浅析

    HashMap是java里比较常用的一个集合类,我们一般用来缓存一些处理后的结果.但当你做一个Android项目时,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performanc ...

  8. Android调试之TraceView

    TraceView 在应用运行时,可以使用Debug类打开操作日志记录功能,打开后Android会详细记录应用花在每个线程以及线程的每个函数的调用时间.操作日志记录完毕后,可以使用Android SD ...

  9. java集合框架之HashSet

    参考http://how2j.cn/k/collection/collection-hashset/364.html#nowhere 元素不能重复 Set中的元素,不能重复重复判断标准是: 首先看ha ...

  10. Eclipse中实现JS代码提示功能

    转发: 用Eclipse写js代码时没有提示,很烦,心累: 找个各种方法以及插件,试了一下,个人感觉AngularJS Eclipse 插件很强,好用,不多说,先装上: 然后重启Eclipse ,右键 ...