day16作业

1.用代码实现将制定路径下的音频文件 剪切到 其他路径下

import os
def my_cope(src_path,des_path):
    if not os.path.exists(src_path):
        print("该文件不存在!")
        return
    if os.path.isdir(src_path):
        print("原路径是一个目录,无法拷贝")
        return
    f1=open(src_path,"rb")
    f2=open(des_path,"wb")
    size=os.path.getsize(src_path)
    subsize=1024
    while size>=0:
        r1=f1.read(subsize)
        f2.write(r1)
        f2.flush()
        size-=subsize
    f1.close()
    f2.close()

if __name__=="__main__":
    src_path=r"Tom Hiddleston _ The Saddle Spring Boys - Why Don't You Love Me.mp3"
    des_path=r"Loki.mp3"
    my_cope(src_path,des_path)

2.读取 youbian.txt 文件中的数据, 完成邮编查询的操作

​ 输入邮编号,如果有此邮编,输出对应的城市

​ 否则提示 无此邮编

注意:如果读到的文件中有特殊符号的话 可以把文件内容拷贝到一个新建的文件中

def postcode(num):
    f1=open(r"youbian.txt","r",encoding="utf-8")
    r1=f1.readlines()
    print(r1)
    for i in r1:
        if i[1:7]==num:
            return i[9:-4]
    else:
        print("无此邮编!")
    f1.close()

print(postcode("110100"))
print(postcode("450821"))
#或者
file=open(r"youbian.txt","r",encoding="utf-8")
info_list=file.readlines()
code=input("请输入查询的邮编:")
for info in info_list:
    if code in info:
        data=info.rstrip(",\n")
        #eval 把字符串转化成系统已有的数据类型
        datalist=eval(data)
        print(datalist[1])
        break
else:
    print("无此邮编!")
file.close()

3.将一个英文语句以单词为单位逆序排放到指定的文件中

例如:“I am a boy” 逆序排放后 "boy a am I" 将其写入到指定的文件中
def reverse_put(words:str,path):
    list1=words.split(" ")
    list1.reverse()
    wo=" ".join(list1)
    f1=open(path,"a")
    f1.write(wo)
    f1.close()
reverse_put("I am a boy","reverse_put")
  1. 开房查询

    ​ 输入名字,查询其kaifanglist.txt文件中的开房记录,如果没有,是一个单纯哥们,如果有的话,将其所有开房信息写入到以这哥们命名的文件中

def see(name:str):
    f1=open(r"kaifanglist.txt","r",encoding="utf-8")
    r1=f1.readline()
    while r1:
        if r1[:2]==name:
            f2=open(name,"a",encoding="utf-8")
            f2.write(r1)
            f2.close()
        r1 = f1.readline()
    f1.close()
print(see("曹阳"))

#或者

import os
#读取文件内容
def readfile(path):
    if not os.path.exists(path):
        print("路径不存在!")
        return
    f = open(path,"r",encoding="utf-8")
    lt=f.readlines()
    f.close()
    return lt
#输入名字,查询过程
#思路:不管是否查找到数据,最后返回一个列表
def searchbyname(name,path):
    sublt=[]
    #获取所有人的信息
    alllt=readfile(path)
    for line in alllt:
        if name ==line.split(",")[0]:
            sublt.append(line)
    return sublt
#将查询结果写入新文件
def writeresult(name,singlelt):
    if singlelt:
        print(name+"果然去开房了!")
        f=open(name+".txt","w",encoding="utf-8")
        for line in singlelt:
            f.write(line)
            f.flush()
        f.close()
        print("数据提取成功!")
    else:
        print(name+"是个好兄弟,好好珍惜!")
#调用
if __name__=="__main__":
    while True:
        name = input("请输入查找人的名字【按q退出】:")
        if name =="q":
            break
        else:
            result=searchbyname(name,r"kaifanglist.txt")
            writeresult(name,result)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值