python文件操作

参数:1.文件路径
2.编码方式
3.执行动作(打开方式):

只读r,只写w,
追加a,读写r+,写读w+
f = open('文件',encoding='utf-8',mode='r')
f.read()
##读:
***r,只读
文字类文件用r
1)文件以什么编码方式存储的就用什么编码方式打开
2)文件路径:
绝对路径:从根目录开始一级一级查找
相对路径:在同一个文件夹下,直接写文件名即可

***五种方式:1:全部读出来f.read
2:一行一行读f.readline
3:将源文件的每一行作为一个列表的元素f.readlines
4:读取一部分f.read(n)n:在r模式下安'字符'读;在rb模式下中文按字节读
5:循环读取

rb,只读,以bytes类型读取 按字节读
非文字类的文件用rb
***r+:读写模式 *先读后追加

##写:
*w:没有文件,会创建一个文件写入内容
有文件,将原文件内容清空,写入内容
f = open('文件',encoding='utf-8',mode='w')
f.write('内容')
f.close()
wb:
f = open('文件',mode='wb')
f.write(中文内容''.encode('utf-8)')
f.close()

w+:先写后读
#tell 按字节读光标位置
#seek 按字节调整光标位置
追加:
*a:没有文件,创建文件追加内容
有文件,直接追加内容
a+:追加读
ab
操作方法:
read
read(n)
readline()
readlines()
tell
seek
truncate
readable()
writable()
*with open as

文件修改:
1.将原文件读取到内存。
2.在内存中进行修改形成新的内容
3.将新的内容写入新文件
4.将原文件删除
5.将新文件重命名成原文件

 题:

文件a.txt内容:每一行内容分别为商品名字,价钱,个数。

apple 10 3

tesla 100000 1

mac 3000 2

lenovo 30000 3

chicken 10 3

通过代码,将其构建成这种数据类型:[{'name':'apple','price':10,'amount':3},{'name':'tesla','price':1000000,'amount':1}......] 并计算出总价钱。

 

 

# with open('文件作业1',encoding='utf-8',mode='r') as f:
# content = f.read().split()
# print(content)
# li = []
# i = 0
# sum = 0
# while i in range(len(content)):
# dic = {'name': '', 'price': '', 'amount': ''}
# dic['name'] = content[i]
# dic['price'] = int(content[i + 1])
# dic['amount'] = int(content[i + 2])
# sum += int(content[i + 1])
# i = i +3
# li.append(dic)
# print(li)
# print(sum)

 

posted @ 2018-03-27 20:15  徐阳阳  阅读(104)  评论(0编辑  收藏  举报