python学习day2

文件操作

文件的本质:句柄(唯一标识符)
r 读
w 写
a 追加
r+ w+ a+ 基于字符的读写模式
对于二进制的读写
rb wb ab

文件操作我们要新建一个文件,这里为了方便我们新建一个文本文件a.txt。

#文件操作
#f是文件句柄
f = open('a.txt','r')
#句柄去读取内容,放到data这个变量里
data = f.read()
print(data)
#关闭文件句柄!!!!!
f.close()

判断文件是否存在
import os
print(os.path.isfile(‘c:/test/a.txt’))
#文件的每一行变成一个列表存在
data = f.readlines()

#f是文件句柄
f = open('a.txt','r+')

while True:
    info = f.read(4) #每次读取4个字
    print(info)
    if len(info)==0:#什么时候读不出来了
        break
#关闭文件句柄!!!!!
f.close()

写文件:
w属性会把文件的内容清空!!!
f = open(’./a.txt’,‘w’)
#要写入什么内容
f.write(‘nihao’)
f.close()

追加写文件:
f = open(’./a.txt’,‘a’)
#要写入什么内容
f.write(‘nihao’)
f.close()

免关闭操作文件
with open(’./a.txt’,‘a’) as f:
f.write(“hahahahaha!!!”)

#with open可以用逗号打开多个文件句柄
with open('./a.txt','r') as f1,open('./b.txt','w') as f2:
    data = f1.read()
    #replace可以替换
    data = data.replace('a','N')
    f2.write(data)

操作操作系统命令

import os

#新建文件夹
os.mkdir(‘c:/abcd’)

#删除文件夹
os.rmdir(‘c:/abcd’)

#列出所有文件夹
print(os.listdir(‘c:/’))

#直接执行操作系统命令
print(os.system(‘whoami’))

题目

文件夹里有haha.txt,内容为

apple 10 3
tesla 100000 1
mac 3000 2
lenovo 2000 5
chicken 10 3

将文件的内容构造成[{‘name’:‘apple’,‘price’:10,‘amount’:3},{‘name’:‘tesla’,‘price’:100000,‘amount’:1}…]
并且计算总价格
答案:

list = []
with open('./haha.txt','r')as f:
    #相当于readlines,一行一行读取
    for line in f:
        #把换行去掉又用空格进行分割
        list2 = line.strip().split(' ')
        #如果还有东西可以读
        if list2:
            #建立字典
            dic = {'name':list2[0],'price':list2[1],'amount':list2[2]}
            #把字典加入到列表中
            list.append(dic)
print(list)
price = 0
#遍历列表
for i in list:
    #每一次遍历的内容提取,并且转化为int进行操作
    price += int(i['price'])*int(i['amount'])

print(price)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值