python文件操作

1、读取文件并将文件存在字典中

# 文件读取方式操作
accounts_file = 'F:\Myself\xxx\xxx\xxx\user.txt'   #文件路径
account_list = open(accounts_file) #打开文件
user_list={}#创建一个空字典
#将文件一行行读取,并保存到字典中
for user in account_list.readlines():
    user =user.strip()
    if len(user)==0:
        continue
    else:
        user_list[user.split(',')[0]] = user.split(',')[1] #为字典的key赋值value
account_list.close()

在读取路径时,比如c:\niu\desktop 这种,open在打开文件时会把c:\niu 认为里面有一个 ,所以我们可以在文件路径前加一个r,比如f=open(r'c:\niu\desktophaha')  表示原字符,不需要转义。

print(f.readline()) #读取一行数据

print(f.readlines())#获取文件里面所有的数据,每一行数据放到一个list里面

print(f.read()) #获取全部文件内容

依次执行上面三种函数,读取时,readline读取第一行,readlines 读取剩余内容,read读取不到内容,产生这种原因,是因为文件指针的原因。

文件指针:打开文件,默认指针在前,readline 读取第一行,读取完后,指针读取到第二行,readlines表示读取全部,所以将文件所有内容都读取完,指针读取到最后,再使用read读取的时候,就读取不到任何东西了。

2、写入文件

fw = open('F:\Myself\xxx\xxx\xxx\user.txt', mode='a', encoding='UTF-8')   #字符编码格式
fw.writelines('%s,%s
'%(loginName.lower(),passwd))
fw.close()

3、关于open()的mode参数

'r':读

'w':写,如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

'a':追加,如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

'x':写模式,新建一个文件,如果该文件已存在则会报错。

'r+' == r+w(可读可写,文件若不存在就报错(IOError))

'w+' == w+r(可读可写,文件若不存在就创建)

'a+' ==a+r(可追加可写,文件若不存在就创建)

对应的,如果是二进制文件,就都加一个b就好啦:

'rb'  'wb'  'ab'  'rb+'  'wb+'  'ab+'

原文地址:https://www.cnblogs.com/blueteer/p/10001136.html