使用python控制文件一般分为3步:1.打开,2.对文件进行操作,3.关闭。

f = open('/tmp/passwd')		##打开文件
print(f.read())				##读文件
f.close()					##关闭文件

文件的读写操作

在打开文件的同时,可以指定对文件的操作权限,如

f = open('/tmp/passwd','r')

这样的操作表示对文件进行操作时只能读,不能写,这样的操作权限还有很多,如下:

权限

作用

r

只能读,不能写,读取的文件不存在时会报错

r+

可以执行读写操作,文件不存在时会报错,默认情况下,从文件指针所在位置开始写入

w

只能写,不能读,写文件的时候会清空文件之前的内容,文件不存在时不会报错,会创建一个新的文件并写入

w+

可以执行读写操作,写文件的时候会清空文件之前的内容,文件不存在时不会报错,会创建一个新的文件 并写入

a

只能读,不能写,写文件的时候不会清空文件之前的内容,在文件的末尾追加内容,文件不存在时会报错

a+

可以执行读写操作,写文件的时候不会清空文件之前的内容,在文件的末尾追加内容,文件不存在时会报错

对文件进行操作时,文件指针会发生变化。
查看当前文件指针的位置:

print(f.tell())

文件的读取

.read():读取文件的全部内容

python文件权限查看 python读取文件权限_文件名


在括号内加入数字可以按字节读取:

python文件权限查看 python读取文件权限_python文件权限查看_02

.readlines():读取文件内容,返回一个列表,列表的元素分别为文件

行内容

python文件权限查看 python读取文件权限_写入文件_03


.readline():时用readline()时,不会返回列表,而是返回文件第一行的内容作为一个元素。

默认情况下读取文件的所有内容,小文件可以直接用read读取,如果是大文件(文件大小>内存大小),不能通过read一次性读取所有内容。

文件的写入

.write():写入文件直接在括号内写入需要写入的内容。

python文件权限查看 python读取文件权限_文件名_04


将hello world写入文件。

.writelines():写入文件时将列表中的每个元素写入文件,如

python文件权限查看 python读取文件权限_写入文件_05


将ab写入文件。

如何移动文件指针

写入文件之后文件指针会发生变化,如果想要读取文件内容的话则需要移动文件指针。

seek方法,移动指针
    seek的第一个参数是偏移量:>0,表示向右移动,<0表示向左移动
    seek的第二个参数是:
        0:移动指针到文件开头
        1:不移动指针
        2:移动指针到末尾

python文件权限查看 python读取文件权限_python文件权限查看_06


把指针移动到文件开头,之后再读取文件。对非纯文本的文件

对非文本的文件进行操作时,需要再使用权限上加个b如rb,wb+等。

python文件权限查看 python读取文件权限_python文件权限查看_07


上下文管理器

使用上写文可以同时对两个文件进行操作,下面用f1代表文件1,f1代表文件2。

python文件权限查看 python读取文件权限_文件指针_08


打开两个文件并进行读取。

文件与系统

import os
from os.path import exists,splitext,join

首先要导入这些需要的模块。
1.返回操作系统类型

print(os.name)

python文件权限查看 python读取文件权限_文件名_09


posix表示linux操作系统。

2.操作系统的详细信息

python文件权限查看 python读取文件权限_文件名_10


3.系统环境变量

print(os.environ)

python文件权限查看 python读取文件权限_写入文件_11


查看系统环境变量返回的是一个字典。

4.判断文件是否为绝对路径

os.path.isabs('/tmp/passwd')

python文件权限查看 python读取文件权限_文件指针_12


如果是绝对路径返回一个True值,否则返回False,需要注意的是,这里只是判断文件的路径是否为绝对路径,不能判断文件是否存在。

5.生成绝对路径

os.path.join('/home','hello.jpg')

python文件权限查看 python读取文件权限_写入文件_13


使用这个方法可以将二者连接起来。

6.获取目录名或文件名

os.path.basename(filename)

获取文件名

os.path.dirname(filename)

获取目录名

python文件权限查看 python读取文件权限_写入文件_14


6.创建目录/删除目录

os.mkdir('img')

创建目录img

os.makedirs('img/jpg/png')

创建递归目录

os.rmdir('img')

删除目录img
7.文件的创建,删除,重命名

os.mknod('file1')

创建文件file1

os.remove('file1')

删除文件file1

os.rename('file1','file2')

将file1重命名为file2
8.判断文件或者目录是否存在

os.path.exists('file1')

python文件权限查看 python读取文件权限_写入文件_15


文件不存在会返回一个False。

9.分离后缀名和文件名

os.path.splitext('hello.png')

python文件权限查看 python读取文件权限_写入文件_16


10.将目录名和文件名分离

os.path.split('/tmp/test/hello.jpg')

python文件权限查看 python读取文件权限_文件指针_17


将目录和文件名分离,返回的是一个元组。

11.遍历目录

python文件权限查看 python读取文件权限_文件指针_18