day3-python-文件操作(1)

本文内容涉及python打开/创建文件对象,文件的读写、文件指针位置的移动、获取命令行参数。

1. open()
open函数以指定模式返回一个file对象,如: file_object = open(filename,access_mode=’r’,buffering=-1),默认是以r模式打开文件。

filename:表示要打开文件名(字符串),可以是绝对路径或相对路径
access_mode:文件打开的模式(字符串), 常用的模式有’r’,’w’,’a’,不是很常用的还有’u’和’b’
‘r’模式:以读方式打开,不能进行写操作,文件必须是已经存在的
‘r+’模式:以读写方式打开,文件必须是已经存在的
‘w’模式:以写方式打开,不能进行读操作,若文件存在,则先清空,然后重新创建;若不存在,则创建文件
‘w+’模式:以读写方式打开,若文件存在,则先清空,然后重新创建;若不存在,则创建文件
‘a’模式:以追加方式打开,不能进行读操作,把数据追加到文件的末尾;若不存在,则创建文件
‘a+’模式:以读写方式打开,把数据追加到文件的末尾;若不存在,则创建文件
‘b’模式:以二进制模式打开,不能作为第一个字符出现,需跟以上模式组合使用,如’rb’,’rb+’等,
‘u’模式:表示通用换行符支持,文件必须是已经存在的

buffering:表示访问文件采用的缓冲方式,0表示不缓冲,1表示缓冲一行数据,其他大于1的值表示使用给定值作为缓冲区大小,负数表示使用系统默认缓冲机制,默认是-1,一般使用系统默认方式。

2. file()
file是一个类,file()以指定模式创建一个file对象,跟open()具有相同的功能,可以任意替换。一般使用open来创建一个file对象,使用isinstance(obj,file)来判断obj是否是一个文件对象。

3.read()、readline()、readlines()
read():读取指定数目个字节到字符串中,负数将读取至文件末尾,默认是-1


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

>>> file_obj = open(‘test.txt‘,‘r‘)

>>> file_obj.read()

‘dfdff\n‘

>>> file_obj.seek(0)

>>> file_obj.read(0)

‘‘

>>> file_obj.read(1)

‘d‘

>>> file_obj.read(2)

‘fd‘

>>> file_obj.read(-1)

‘ff\n‘

>>> file_obj.seek(0)

>>> file_obj.read(1000)

‘dfdff\n‘

>>> file_obj.seek(0)

>>> file_obj.read(-5)

‘dfdff\n‘

readline():读取文件的一行,包括行结束符,可以制定size参数的值,默认是-1


1

2

3

4

5

6

7

>>> file_obj = open(‘test.txt‘,‘r‘)

>>> file_obj.readline()

‘dfdff\n‘

>>> file_obj.readline(2)

‘al‘

>>> file_obj.readline(-1)

‘exzhou\n‘

readlines():读取所有剩余的行,然后作为一个字符串列表返回


1

2

3

>>> file_obj.seek(0)

>>> file_obj.readlines()

[‘dfdff\n‘, ‘alexzhou\n‘, ‘zhoujianghai\n‘]

4. write()、writelines()
ps:这两个方法都不会自动加上行结束符,需在写入数据前自己加上


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

>>> file_obj = open(‘test.txt‘,‘w+‘)

>>> file_obj.write(‘alexzhou‘)

>>> file_obj.write(‘ python‘)

>>> file_obj.seek(0)

>>> file_obj.readline()

‘alexzhou python‘

>>> l = [‘my‘,‘name‘,‘is‘,‘zhoujianghai‘]

>>> l = ‘ ‘.join(l)

>>> file_obj.writelines(l)

>>> file_obj.seek(0)

>>> file_obj.readline()

‘alexzhou pythonmy name is zhoujianghai‘

>>> file_obj.write(‘hello \n‘)

>>> file_obj.write(‘world \n‘)

>>> file_obj.seek(0)

>>> file_obj.readline()

‘alexzhou pythonmy name is zhoujianghaihello \n‘

>>> file_obj.readline()

‘world \n‘

5. seek()、tell()
seek():移动文件指针到不同的位置,可以指定偏移量和起始位置。起始位置0表示从文件头开始,1表示从当前位置开始,2表示从文件尾开始,默认是0.
tell():表示当前文件指针在文件中的位置,从文件头算起。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

>>> file_obj.seek(0)

>>> file_obj.tell()

0

>>> file_obj.seek(5)

>>> file_obj.tell()

5

 

>>> file_obj.seek(5,1)

>>> file_obj.tell()

10

>>> file_obj.seek(5,2)

>>> file_obj.tell()

57

>>> file_obj.seek(5,0)

>>> file_obj.tell()

5

6. 文件迭代和关闭文件
可以使用for循环一行一行读取文件


1

2

3

4

5

6

7

8

9

10

>>> file_obj = open(‘test.txt‘,‘w+‘)

>>> file_obj.write(‘hello \n‘)

>>> file_obj.write(‘world \n‘)

>>> file_obj.seek(0)

>>> for eachline in file_obj:

...     print eachline,

...

hello

world

>>> file_obj.close()

ps:print后面加一个分号的作用:避免print语句默认在打印的内容后面加一个换行符号。

7. os模块常用属性
由于各操作系统的行分隔符和文件分隔符不一样,所以可以使用os模块的以下属性避免代码移植时碰到这些问题。

os.linesep 行分隔符字符串
os.sep 文件分隔符字符串
os.pathsep 路径分隔符字符串
os.curdir 当前目录字符串
os.pardir 父目录字符串

看下面的打印结果


1

2

3

4

5

6

7

8

9

10

11

>>> import os

>>> os.sep

‘/‘

>>> os.linesep

‘\n‘

>>> os.pathsep

‘:‘

>>> os.curdir

‘.‘

>>> os.pardir

‘..‘

8. 获取命令行参数
创建argv.py文件,输入下面代码


1

2

3

4

import sys

 

commands = sys.argv

print commands

执行:pyton argv.py 123,打印结果:
[‘argv.py’, ‘123’]

来源: http://codingnow.cn/language/372.html

来自为知笔记(Wiz)

时间: 2024-08-24 22:29:54

day3-python-文件操作(1)的相关文章

Python文件操作及seek偏移详解

本文和大家分享的主要是python中文件操作及seek偏移相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.Python文件操作中的编码 本次测试是基于Python 2.7.12  OS:Ubuntu 16.04  pycharm环境,以及Win7下2.7.12; 首先说下汉字在文件中占用的字节数,这个先看以下实验(Win7)下 因为Linux下不支持gbk,本文不讲utf-8 ,gbk编码具体知识.本次实验只讲解python在使用utf-8和gbk编码时,对汉字占用的字节有所不

python 文件操作seek() 和 telll() 自我解释

python 文件操作seek() 和 telll()  自我解释 file.seek()方法格式: seek(offset,whence=0)   移动文件读取指针到制定位置 offset:开始的偏移量,也就是代表需要移动偏移的字节数. whence: 给offset参数一个定义,表示要从哪个位置开始偏移:0代表从文件开头算起,1代表开始从当前位置开始算起,2代表从文件末尾开始算起.当有换行时,会被换行截断.                        seek()无返回值,故值为None

关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()

嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折腾的序幕 db_fd, flaskr.app.config['DATABASE'] = tempfile.mkstemp() 稍微查询一下就能了解到 tempfile是一个临时文件模块. 包含了一些临时文件的操作 tempfile.mkstemp() 在很老很老的python版本的时候,第一个参数是

Python基础篇【第2篇】: Python文件操作

Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说:1. 打开文件 2.操作文件 3.关闭文件 1. 打开文件.关闭文件 Python中使用open函数打开一个文件,创建一个file操作对象. open()方法 语法: file object = open(file_name [, access_mode][, buffering]) 各个参数的细

Python文件操作与函数目录

文件操作 python文件操作 函数 Python函数学习——初步认识 Python函数学习——作用域与嵌套函数 Python函数学习——匿名函数 python内置函数 Python函数学习——递归 Python函数——命名空间与闭包 Python函数——闭包延迟绑定 Python函数——装饰器 Python函数-列表推导式.生成器与迭代器 练习题 Python文件与函数练习题 案例 python函数练习——个人信息修改 Python函数案例——员工信息管理 原文地址:https://www.c

第六章、Python文件操作

第六章.Python文件操作 Python可以对文件进行查看.创建等功能,可以对文件内容进行添加.修改.删除,且所使用到的函数在Python3.5.x为open,在Python2.7.x同时支持file和open,但是在3.5.x系列移除了file函数. 一.Python文件打开方式 文件句柄 = open('文件路径','打开模式') Nginx_Conf = open('nginx.conf','r',encoding='utf-8') Ps:文件句柄相当于于变量名,文件路径可以写为绝对路径

Lesson 024 —— python 文件操作

Lesson 024 -- python 文件操作 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法. open() 函数常用形式是接收两个参数:文件名(file)和模式(mode). open(file, mode='r') 完整的语法格式为: open(file, mode='r',

3 Python文件操作

Python文件操作 open 以什么编码方式存储文件,就以什么编码方式打开 f = open('d:\模特主妇护士班主任.txt',encoding='utf-8') # 绝对路径打开 f.close() f = open('模特主妇护士班主任',encoding='utf-8') # 相对路径打开 f.close() with open('log',encoding='utf-8') as f: # 此方法常用 不用进行close 读 read # r 以str的方式读出 f = open(

Python 文件操作Error: binary mode doesn't take an encoding argument

Python 报错:ValueError: binary mode doesn't take an encoding argument 在运行文件操作相关功能时报错:ValueError: binary mode doesn't take an encoding argument 上代码: >>> with open("course_info","rb+",encoding="utf-8")as f: #rb+操作时不支持指定e

Python文件操作:文件的打开关闭读取写入

Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文件. 2.操作文件:读/写. 3.关闭文件. 操作系统中的文件默认处于存储状态,读写文件时需要请求操作系统打开一个要在当前程序操作的对象,打开不存在的文件可以创建文件.open()方法通过接收"文件路径"以及“文件打开模式”等参数来打开一个文件,并且返回文件对象.打开后的文件只能在当前程序