Python文件读写

在Python中, 文件读写不需要import任何库, 第一步是使用open函数获取一个文件对象

Open()函数

我们使用内置的open()函数打开一个文件. open()返回一个文件对象, 一般会传入两个参数。

语法

1
file_object = open(filename, mode) # file_object是储存文件对象的变量

mode参数是可以省略的, 缺省条件下为’r’
mode参数可以是:

r – 读文件
w – 仅写文件(如果有同名文件会被覆盖)
a – 添加文本; 所有写入的内容都会被自动添加到文件末尾
r+ – 读写文件
常用两个函数是readwrite

创建文本文件

1
2
3
file = open("demo.txt", "w")
file.write("this is demofile\n")
file.close()

读取文本文件

file.read()函数

如果想得到文件中所有字符的字符串,直接使用file.read()
如果想得到指定字符串长度,那就使用file.read(n)
1.png

file.readline()函数

使用readline()函数会逐行读取文件,调用readline()会获取文件第一行, 之后的调用会返回接下来的行。
readlines()将整个文件作为一个用\n分隔的列表返回。
1.png

循环遍历一个文件对象

读取文件的行时, 你可以循环遍历这个文件对象。 这在内存占用上是高效的, 并且写法简单.
1.png

close()函数

当你对文件的操作结束后, 调用f.close()来关闭它并且释放打开这个文件所占用的系统资源。 调用f.close()后, 对这个文件的操作都会失败.
1.png

判断目录是否可读可写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env python2.7
#-*- coding: UTF-8 -*-
import os
import sys
def dirFile(dirPath):
for dirpath,dirnames,filenames in os.walk(dirPath):
for dirname in dirnames:
dirfile = os.path.join(dirpath, dirname)
if os.access(dirfile, os.R_OK) and os.access(dirfile, os.W_OK):
print "文件可读可写:",dirfile
elif os.access(dirfile, os.R_OK) and not os.access(dirfile, os.W_OK):
print "文件可读不可写:",dirfile
if __name__ == '__main__':
filePath = 'c:\\phpstudy\\www\\'
dirFile(filePath)
!坚持技术分享,您的支持将鼓励我继续创作!