python入门(八) 基本的的I/O函数

input() 接收用户的输入

#!/usr/bin/python3
str = input("请输入:");
print("你输入的内容是: ", str)
#输入结果:
请输入:11
你输入的内容是:  11

open(fileName, mode, buffering) 打开文件

  • 第一个参数 filenName 文件名
  • mode 文件打开的方式
    r 只读
    r+ 读写
    rb 二进制只读
    rb+ 二进制读写
    w 只写,如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
    w+ 读写,如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
    wb 二进制打开只写入
    wb+ 二进制打开读写
    a 打开一个文件追加,如果文件存在,追加到原来内容后面,如果文件不存在,重新写入
    a+ 打开一个文件用于读写
    ab 用二进制打开文件追加
    ab+ 用二进制打开文件用于追加
  • buffering 参数 如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认

open() 返回文件对象,包含一些属性

  • name 文件名词
  • mode 打开文件的模式
  • closed 文件是否关闭 关闭返回true,否则返回false
#!/usr/bin/python3
fo = open('heart', 'r')
print('文件名:',fo.name)
print('打开文件模式:', fo.mode)
print('文件是否关闭:', fo.closed)
#输出结果:
文件名: heart
打开文件模式: r
文件是否关闭: False

close() 关闭文件(养成好的习惯,打开文件记得关闭)

#!/usr/bin/python3
fo = open('heart', 'r')
print('文件名:',fo.name)
fo.close()

write() 将任何字符串写入一个文件

  • 以追加的方式打开文件,并在文件末尾追加字符串
#!/usr/bin/python3
fo = open('heart', 'a+')
fo.write('啊哈哈哈哈')
fo.close()

read() 读取文件内容

  • read(count) 如果传参代表获取的字节数
#!/usr/bin/python3
fo = open('heart', 'r+')
res = fo.read(5)
print(res)
fo.close()
#输出结果5个字节:行深般若波  
  • read() 不传参,尝试尽可能多地读取更多的内容
#!/usr/bin/python3
fo = open('heart', 'r+')
res = fo.read()
print(res)
fo.close()
#输出全部内容(心经大法):
行深般若波罗蜜多时,
照见五蕴皆空,
度一切苦厄。
舍利子,
色不异空,空不异色,
色即是空,空即是色,
受想行识,亦复如是。
舍利子,
是诸法空相,
不生不灭,不垢不净,不增不减。
是故空中无色,
无受想行识,
无眼耳鼻舌身意,
无色声香味触法,
无眼界,乃至无意识界,
无无明,亦无无明尽,
乃至无老死,亦无老死尽。
无苦集灭道,
无智亦无得。
以无所得故。
菩提萨埵,
依般若波罗蜜多故,
心无挂碍。无挂碍故,
无有恐怖,远离颠倒梦想,
究竟涅盘。三世诸佛,
依般若波罗蜜多故,
得阿耨多罗三藐三菩提。
故知般若波罗蜜多,
是大神咒,是大明咒,是无上咒,是无等等咒,
能除一切苦,真实不虚。
故说般若波罗蜜多咒,
即说咒曰:揭谛揭谛,波罗揭谛,波罗僧揭谛,菩提萨婆诃。

tell() 告诉你下次读取的文件位置在哪

  • 如果你的文件内容是中文的在mac中一个中文占3个字节
  • 比如我读取3个字符,tell返回的文件位置就是9 (默认utf-8)
#!/usr/bin/python3
fo = open('heart', 'r+')
s = fo.read(3)
res = fo.tell()
print('当前文件位置:',res)
fo.close()
#输出结果: 当前文件位置: 9
  • 修改你读取的文件内容为英文,先读取3个,当前的文件位置就是3
#!/usr/bin/python3
fo = open('heart', 'r+')
s = fo.read(3)
res = fo.tell()
print('当前文件位置:',res)
fo.close()
# 输出结果:当前文件位置: 3

seek(offset [,from]) 改变当前文件位置

  • offset 表示要移动的字节数
  • from 可选参数,0 表示从文件的开头读取, 1表示从当前的位置开始,2表示从文件的末尾开始
  • 注意:这里要注意的是,使用from这个参数的时候必须以 rb 的形式打开文件否则会报错
    要读取的文件 heart 文件内容
abcdefghijklmnopqrstuvwxyz
  • 读取文件从第3个开始读取,不输出abc
#!/usr/bin/python3
fo = open('heart', 'r+')
fo.seek(3)
res = fo.read()
print('读取的文件内容:', res)
fo.close()
#输出结果:读取的文件内容: defghijklmnopqrstuvwxyz
  • 一定以rb的方式打开文件
  • 先读取abc,再读取ghi
  • 实现方式很简单,先读取3个字符,当前的文件位置是3,然后从当前的位置开始,移动3个字节再读取3个字节就拿到 ghi 了
#!/usr/bin/python3
fo = open('heart', 'rb')
fo.read(3)
curIndex = fo.tell()
print('读取完abc之后,当前的位置:', curIndex)
fo.seek(3, 1)
res = fo.read(3)
print ("读取的数据为:",res)
#输出结果:
读取完abc之后,当前的位置: 3
读取的数据为: b'ghi'

如何给文件重命名

  • 需要引入os模块
  • os.rename(current_file_name, new_file_name) 俩个参数当前文件名,新的文件名
#!/usr/bin/python3
import os
os.rename('heart', 'h')

删除文件

  • 引入os模块
  • os.remove(file_name) 输入文件名
#!/usr/bin/python3
import os
os.remove('h')

创建一个文件目录

  • 引入os模块
  • os.mkdir(dir_name) 输入要创建的目录名(创建目录,不是创建文件)
#!/usr/bin/python3
import os
os.mkdir('newfile')

显示当前的工作目录

  • 引入os模块
  • os.getcwd() 显示当前的工作目录
#!/usr/bin/python3
import os
res = os.getcwd()
print('当前的工作目录:', res)

删除当前目录

  • 引入os模块
  • os.rmdir(file_name) 删除当前目录
#!/usr/bin/python3
import os
os.rmdir('newfile') 

基本的如何逐行读取文件内容

#!/usr/bin/python3
fo = open('heart', 'r+')

while 1:
    line = fo.readline()
    if not line:
        break
    print(line+'啊哈哈\n')
#输出结果;one
啊哈哈
two
啊哈哈
three啊哈哈
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,735评论 0 10
  • Python文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档。 input函数 i...
    步_尘阅读 677评论 0 0
  • 感赏儿子自己起床,动作迅速地洗漱,然后大声晨读,今天读背的是语文。感赏儿子的坚持力和行动力。 儿子吃饭,我趁空帮他...
    苇絮轻扬阅读 121评论 0 2
  • 石墨: 不只是在线的office 可多人实时协作的云端文档与表格。 蓝湖: 无缝连接产品、设计、研发流程,降低沟通...
    清溪绕梧桐阅读 266评论 0 0