我是初学者,我们学校今年开的这门课,这是留的作业;
我将代码写完了,但是在读文件的时候,不知道什么原因总报错
我的代码如下:
#-*- coding: UTF-8 -*-
import random
yushu=[x for x in range(0,11)]
ma=['1','0','X','9','8','7','6','5','4','3','2','1']
def yanzheng(nid):
dicma=dict(zip(yushu,ma))
sum=0
for x,y in enumerate(nid[:-1]):
sum+=((2**(18-x-1))%11)*int(y) #17位对应系数相乘的和
if nid[-1]==dicma[sum%11]: #校验码对照
return '%s True'%nid
else:
return '%s False'%nid
def readfile(fname):
f=open('id.txt','rb')
for line in f.readlines():
print yanzheng(line.strip())
f.close()
def randnum():
idstr=''
for i in range(17): #前17位随机
idstr+=str(random.randint(0,9))
idstr+=random.choice(ma) #最后一位从列表种随意一个,因为有X
return idstr
if __name__=="__main__":
nid=raw_input('Please enter your ID: ') #用户输入ID,没做任何验证
print yanzheng(nid) #验证身份证
readfile('id.txt') #从文件读出来再验证
print yanzheng(randnum()) #随机一个在验证
但是我已经把文件都放到一个文件夹里啦,而且文件里边也有内容
请问读取文件那个部分的代码怎么改好(我不要指定那个盘,那个路径,直接在同一文件夹读取)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
import os
readfile('%s/id.txt' % os.path.split(os.path.realpath(__file__))[0])