标签:好文 enc unp read 学生 imp 同名 图片 查找文件
#写进二进制数据
import struct
f=open(‘d:\\student.dat‘,‘wb‘)
n=input(‘请输入学生人数:‘)
#输入数据为字符串类型
#先把字符串转为int型,再打包为bytes型
s=struct.pack(‘i‘,int(n))
#写入二进制文件
f.write(s)
i=0
while (i<int(n)):
num=input(‘请输入第‘+str(i+1)+‘人的学号(2位):‘)
name= input(‘请输入姓名(3个字母):‘)
a1= input(‘请输入高等数学成绩:‘)
a2= input(‘请输入线性代数成绩:‘)
a3= input(‘请输入计算机编程导论成绩:‘)
#对输入的数据进行编码
s=struct.pack(‘2s3s‘,num.encode(‘utf-8‘),name.encode(‘utf-8‘))
s=s+struct.pack(‘fff‘,float(a1),float(a2),float(a3))
#把记录写入文件
f.write(s)
i=i+1
f.close()
#读取二进制数据
f=open(‘d:\\student.dat‘,‘rb‘)
s=f.read(4)#读出人数所占的4个字节
#将读出的bytes解包为tuple
n=struct.unpack(‘i‘,s)
#观察人数是否正确
print(‘n=‘,n[0])
i=0
li=[]
while (i<n[0]):
i=i+1
s=f.read(2)#读出学号
#将bytes按照utf-8方式解码
num=str(s,‘utf-8‘)
s=f.read(3*1)
name=str(s,‘utf-8‘)
s=f.read(4*3)
a1,a2,a3=struct.unpack(‘fff‘,s)
a4=(a1+a2+a3)/3#计算平均分
li2=[num,name,a1,a2,a3,a4]
#存入列表
li.append(li2)
#输出成绩表
i=0
j=0
print(‘平均分‘)
while (i<n[0]):
s2=(li[i][0]+‘ ‘)
s2=s2+li[i][1]+‘ ‘*2
j=2
while j<6:
s=‘%-13.2f‘%li[i][j]
j=j+1
s2=s2+s
print(s2)
i=i+1
f.close()
import os
print(os.getcwd())
os.chdir(‘D:\\‘)
print(os.getcwd())
os.chdir(‘C:\\‘)
print(os.getcwd())
import sys
import os
#提取命令行参数1,作为查找目录
directory=sys.argv[1]
#提取命令行参数2,作为查找文件名
filename=sys.argv[2]
#获取查找目录下所有路径
paths=os.walk(directory)
for root,dirs,files in paths:
#若存在同名文件,则输出为Yes
if filename in files:
print(‘Yes‘)
break
else:
print(‘No‘)
@在第三题的运行过程中,一定要先创建好文件夹和该目录下的文本文件夹。之后创建运行配置文件,在Parameters中写出创建的文本文件夹的地址。
标签:好文 enc unp read 学生 imp 同名 图片 查找文件
原文地址:https://www.cnblogs.com/xuhuan0/p/13046542.html