一.常见的模式
二.例子如下
# r模式
file=open('haha.html','r',encoding='gbk')
f=file.read()
print(f)
file.close()
# w模式
file=open('wenjian.txt','w')
file.write('窗前明月光')
file.close()
# a模式
file=open('wenjian.txt','a')
file.write('窗前明月光,疑是地上霜。')
file.close()
# w+模式
file=open('wenjian.txt','w+')
file.write('举头望明月,')
file.seek(0)
a=file.read()
print(a)
file.close()
# r+模式
file=open('wenjian.txt','r+')
file.write('低头思故乡')
file.seek(0)
a=file.read()
print(a)
file.close()
# a+模式
file=open('haha.html','a+')
file.write('长颈鹿的脖子长')
file.seek(0)
a=file.read()
print(a)
file.close()
# rb模式
file=open('haha.html','rb')
a=file.read()
print(a.decode('gbk'))
file.close()
# wb模式
file=open('haha.html','wb')
a='夹着火车上面包'
a=a.encode('gbk')
file.write(a)
file.close()
# ab模式
file=open('haha.html','ab')
a='夹着火车上面包'
a=a.encode('gbk')
file.write(a)
file.close()
# rb+模式
file=open('haha.html','rb+')
a='三人行必有我师'
a=a.encode('gbk')
file.write(a)
file.seek(0)
file.read()
file.close()
# wb+模式
file=open('haha.html','wb+')
a='三人行必有我师11'
a=a.encode('gbk')
file.write(a)
file.seek(0)
file.read()
file.close()
'''
# ab+模式
file=open('haha.html','wb+')
a='三人行必有我师111'
a=a.encode('gbk')
file.write(a)
file.seek(0)
file.read()
file.close()
注意:
.write()模式,·如果文件不存在那么创建,如果存在那么就先清空,然后写入数据。
三.路径。a=f.write('hello world, i am here!') print(a) 这样写返回值是长度。
三.路径问题
在windows下:
四.读数据
(一) readline:
file=open('wenjian.txt','r+')
a=file.write('窗前明月光,\n疑是地上霜,\n')
print(file.readline())
print(file.readline())
file.close()
或者:
file=open('wenjian.txt','r+')
a=file.write('窗前明月光,\n疑是地上霜,\n')
n=1
for i in a :
print(%s:%s)%(n,i)
n+=1
file.close()
(二) readlines:
f = open('test.txt','r')
content = f.readlines()
print(type(content))
i=1
fortempincontent:
print("%d:%s"%(i, temp))
i+=1
f.close()
五.获取文件位置(tell())
f = open("test.txt","r")
str = f.read(3)
position = f.tell()
print("当前文件位置: ", position)
六.定位文件位置(seek())
1.from:方向
a)0:表示文件开头(python3)
b)1:表示当前位置(python2)
c)2:表示文件末尾(python2)
f = open("test.txt","r")
str = f.read(30)
print("读取的数据是: ", str)
#查找当前位置
position = f.tell()
print("当前文件位置: ", position)
#重新设置位置
f.seek(5,0)
#查找当前位置
position = f.tell()
print("当前文件位置: ", position)
f.close()
四.os模块
(一):文件的重命名、删除
(二):创建文件夹
(三)获取当前目录
importos
os.getcwd()
(四)改变默认目录
importos
os.chdir("../")
(五)改变默认目录
importos
os.listdir("./")
(六)删除文件夹
importos
os.rmdir("张三")
import shutil
os.rmtree(‘m’)
五.os.path模块
os.path.abspath(path) #返回绝对路径
os.path.split(path)
将path分割成目录和文件名二元组返回。
>>> os.path.split('c:\\csv\\test.csv')
('c:\\csv', 'test.csv')
>>> os.path.split('c:\\csv\\')
('c:\\csv', '')
os.path.dirname(path)
返回path的目录。其实就是os.path.split(path)的第一个元素。
>>> os.path.dirname('c:\\csv\test.csv')
'c:\\'
>>> os.path.dirname('c:\\csv')
'c:\\'
os.path.exists(path)
如果path存在,返回True;如果path不存在,返回False。
>>> os.path.exists('c:\\')
True
>>> os.path.exists('c:\\csv\\test.csv')
False
os.path.isabs(path)
如果path是绝对路径,返回True。
os.path.isfile(path)
如果path是一个存在的文件,返回True。否则返回False。
>>> os.path.isfile('c:\\boot.ini')
True
>>> os.path.isfile('c:\\csv\\test.csv')
False
>>> os.path.isfile('c:\\csv\\')
False
os.path.isdir(path)
如果path是一个存在的目录,则返回True。否则返回False。
>>> os.path.isdir('c:\\')
True
>>> os.path.isdir('c:\\csv\\')
False
>>> os.path.isdir('c:\\windows\\test.csv')
False