python学习笔记-文件

最简单的输出:print
读取键盘的输入:raw_input、input()

1.打开文件(open函数)

FileObj=open(file_name,access_mode,buffering)

  • file_name:文件名(当前目录下的文件名,可写绝对路径的文件名)
  • access_mode:文件的打开模式
  • buffering:缓冲模式,0代表不缓冲,1代表缓冲一行可省略为系统默认缓冲方式默认值-1

2.打开文件的文件名:

相对路径和绝对路径:

  • 打开当前目录下的文件可直接写文件名
  • 打开其他路径下的文件则使用绝对路径
>>> f = open(r'C:\Users\user\Desktop\testTxt.txt')  #打开绝对路径下的文件,用r可以避免转义
>>> f
<open file 'C:\\Users\\user\\Desktop\\testTxt.txt', mode 'r' at 0x02BBD860>
>>> f1 = open('C:\\Users\\user\\Desktop\\testTxt.txt')   #打开绝对路径下的文件,用\\可以避免转义
>>> f1
<open file 'C:\\Users\\user\\Desktop\\testTxt.txt', mode 'r' at 0x02BBD8B8>
>>> import os
>>> os.getcwd()   #获取到当前目录
'C:\\Python27'
>>> f2 = open('LICENSE.txt')   #打开当前目录下的文件
>>> f2
<open file 'LICENSE.txt', mode 'r' at 0x02BBD808>

3.文件打开模式:

  • r 以只读的模式打开文件(默认) 文件不存在会报错
  • w 以写入的方式打开文件,会覆盖已存在的文件 存在覆盖 不存在创建
  • a 以写入的方式打开文件,如果文件存在会追加写入,不清空之前的文件
  • b 以二进制模式打开文件,例:wb、rb模式 图片 视频等文件
  • + 可读写模式(可添加到其他模式中使用)

4.文件对象的属性和方法:

  • f.close() 关闭文件
  • f.read() 读取文件的所有字符,也可以设置读取字符的个数
  • f.readlline() 从文件中读取并返回一行,也可以设置读取字符的个数,返回列表,一行一个值
  • f.write(str) 将字符串str写入文件
  • f.writelines(seq) 向文件写入字符串序列seq,seq是返回字符串的可迭代对象
  • f.seek(offset,from) 在文件中移动文件指针,从from(0代表起始位值(默认),1代表当前位置,2代表文件末尾)偏移offset个字节
  • f.tell() 返回当前在文件中的位置

5.文件缓冲:

  • flush() 将缓冲信息存在文件中
  • close() 将缓冲信息存在文件中,并关闭文件
  • 使用 with 不用调用 close() 会自动关闭文件
with open(filename,mode) as f:
  prinr f.read()

6.文件练习:

>>> f1= open(r'C:\pythonSource\zsq.py')
>>> f1
<open file 'C:\\pythonSource\\zsq.py', mode 'r' at 0x03557078>
>>> f1.name
'C:\\pythonSource\\zsq.py'
>>> f1.closed
False
>>> f1.tell()
0L
>>> f1.read(12)
'# -*- coding'
>>> f1.tell()
12L
>>> f1.read()
":utf-8 -*-\n\ndef fun1(f):\n print 'xxx'\n def fun2(*arg1,**arg2):\n return f(*arg1,**arg2) + 1 #\xe5\x87\xbd\xe6\x95\xb0\xe7\x9a\x84\xe8\xb0\x83\xe7\x94\xa8\n return fun2\n\n\ndef ff(a,b):\n return a*b\n#ff = fun1(ff)\n\n@fun1 # @fun1 \xe7\x9b\xb8\xe5\xbd\x93\xe4\xba\x8e ff=fun1(ff)\ndef ff1(a,b):\n return a*b\n"
>>> f1.read()
''
>>> f1.tell()
283L
>>> f1.seek(0)
>>> f1.tell()
0L
>>> ff=f1.read()
>>> ff
"# -*- coding:utf-8 -*-\n\ndef fun1(f):\n print 'xxx'\n def fun2(*arg1,**arg2):\n return f(*arg1,**arg2) + 1 #\xe5\x87\xbd\xe6\x95\xb0\xe7\x9a\x84\xe8\xb0\x83\xe7\x94\xa8\n return fun2\n\n\ndef ff(a,b):\n return a*b\n#ff = fun1(ff)\n\n@fun1 # @fun1 \xe7\x9b\xb8\xe5\xbd\x93\xe4\xba\x8e ff=fun1(ff)\ndef ff1(a,b):\n return a*b\n"
>>> print ff
# -*- coding:utf-8 -*-

def fun1(f):
print 'xxx'
def fun2(*arg1,**arg2):
return f(*arg1,**arg2) + 1 #函数的调用
return fun2

def ff(a,b):
return a*b
#ff = fun1(ff)

@fun1 # @fun1 相当于 ff=fun1(ff)
def ff1(a,b):
return a*b

>>> f1.close()
>>> f1.closed
True
>>> f2 = open('C:\\pythonSource\\xxx.py','w')
>>> f2.write('aaaaa\nbbbbb')
>>> f2.close()
>>> f2
<closed file 'C:\\pythonSource\\xxx.py', mode 'w' at 0x03557078>
>>> f2.read()
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
f2.read()
ValueError: I/O operation on closed file
>>> f2 = open('C:\\pythonSource\\zsq.py')
>>> f2.readline()
'# -*- coding:utf-8 -*-\n'
>>> f2.readline()
'\n'
>>> f2.readlines()
['def fun1(f):\n', " print 'xxx'\n", ' def fun2(*arg1,**arg2):\n', ' return f(*arg1,**arg2) + 1 #\xe5\x87\xbd\xe6\x95\xb0\xe7\x9a\x84\xe8\xb0\x83\xe7\x94\xa8\n', ' return fun2\n', '\n', '\n', 'def ff(a,b):\n', ' return a*b\n', '#ff = fun1(ff)\n', '\n', '@fun1 # @fun1 \xe7\x9b\xb8\xe5\xbd\x93\xe4\xba\x8e ff=fun1(ff)\n', 'def ff1(a,b):\n', ' return a*b\n']
>>> f2.seek(0)
>>> x = f2.readlines()
>>> f3 = open('C:\\pythonSource\\xx.txt','w')
>>> f3.writelines(x)
>>> f3.flush()
>>> f3.close()
>>> f4 = open('C:\\pythonSource\\xx.txt','a')
>>> f4.write('ccccc\nddddd')
>>> f4.flush()

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

推荐阅读更多精彩内容