python学习之IO:

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

一 文件操作函数:

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

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

文件关闭:f.close

with语句:with open函数 as f

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

二内存操作IO:

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")    判断目标是否文件

时间: 2024-10-13 00:28:36

python学习之IO:的相关文章

python学习之io模块

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

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

IO模型 1.阻塞IO 2.非阻塞IO 3.多路复用IO 4.异步IO 一.阻塞IO blocking IO的特点就是在IO执行的两个阶段(等待数据和拷贝数据两个阶段)都被block了. 实际上,除非特别指定,几乎所有的IO接口 ( 包括socket接口 ) 都是阻塞型的. 所谓阻塞型接口是指系统调用(一般是IO接口)不返回调用结果并让当前线程一直阻塞,只有当该系统调用获    得结果或者超时出错时才返回. 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大

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

Python学习系列(九)(IO与异常处理) Python学习系列(八)( 面向对象基础) 一,存储器 1,Python提供一个标准的模块,称为pickle,使用它既可以在一个文件中存储任何Python对象,又可以把它完整的取出来,这被称为持久的存储对象.类似的,还有一个功能与之相同的模块—cPickle,用c语言编写的,速度比pickle快1000倍. 2,示例: 1 import cPickle as p 2 shoplistfile='shoplist.data' 3 shoplist=[

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

1.1.1. 前期环境准备和基础知识 安装: pip3 install aiohttp pip3 install grequests pip3 install wheel pip3 install scrapy 注意: windows上scrapy依赖 https://sourceforge.net/projects/pywin32/files/ 安装Twisted a. http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted, b. 下载:Twis

python学习日记-i/o&amp;type

今天学习的是python的输入输出io和数据类型. python的输入为input()函数(一个内置函数和c#的readkey()类似),比如要给变量a赋值,需要用户输入赋值就可以写a=input();如果需要提示用户输入名字并且赋值给a就可以用a=input(‘请输入你的名字’),但是在用的过程中遇到一个问题,就是让用户输入一个数字,并进行处理,比如: a=input('请输入一个数字')if a>100: print(a)else: print(a+100) 结果报错 unorderable

Python 学习参考书目推荐

Python 学习,参考书目推荐 前言 好的技术书籍可以帮助我们快速地成长,大部分人或多或少地受益于经典的技术书籍.在「Python开发者」微信公号后台,我们经常能收到让帮忙推荐书籍的消息.这类的问题在@Python开发者 微博 和 伯乐在线的 Python小组 讨论中也不绝于耳. 7月3日,伯乐在线在「Python开发者」微信公号发起了一个讨论 (注:PC端无法看到大家的评论,需要关注微信公号后,从微信才可以看到),通过这个讨论话题,在评论中分享对自己帮助很大的Python技术书籍.  (Py

Python学习思维导图

无意间碰到的一个大神整理的Python学习思维导图,感觉对初学者理清学习思路大有裨益,非常感谢他的分享. 详情见:https://woaielf.github.io/2017/06/13/python3-all/ 14 张思维导图 基础知识 数据类型 序列 字符串 列表 & 元组 字典 & 集合 条件 & 循环 文件对象 错误 & 异常 函数 模块 面向对象编程

Python学习系列(一)(基础入门)

Python入门 本系列为Python学习相关笔记整理所得,IT人,多学无害,多多探索,激发学习兴趣,开拓思维,不求高大上,只求懂点皮毛,作为知识储备,不至于落后太远.如果兴趣学习者,推荐一个基础视频:http://edu.51cto.com/lesson/id-11637.html 本文主要介绍Python的相关背景,环境搭建. 一.了解Python 1,关于Python的语言特点: 借用Python官网Https://www.python.org的解释: Python is powerful

Python学习记录day3

Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个无序且不重复,可嵌套的元素集合 class set(object):     """     set() -> new empty set object     set(iterable) -> new set object     Build an unordered collection of unique elements.