【发布时间】:2020-12-18 03:44:27
【问题描述】:
各位,我的代码有点问题。该代码应该检查数字列表并将它们分组在基于文本文件提供程序的情况下,但不能按预期工作。它只为每个提供者在一个文件中保存了一个数字,而不是多个。这是我的代码,如果有人可以帮助我将不胜感激。对不起,如果我的代码太传统了
def main():
dead = open('invalid_no.txt', 'a+')
print('-------------------------------------------------------')
print('-------------------------------------------------------')
list = input('Your Phone Numbers List : ')
base_url = "http://apilayer.net/api/validate"
params = {
'access_key': '3246123d1d67e385b1d9fa11d0e84959',
'number': '',
}
numero = open(list, 'r')
for num in numero:
num = num.strip()
if num:
lines = num.split(':')
params['number'] = lines[0]
response = requests.get(base_url, params=params)
print('status:', response.status_code)
print('-------------------------------------')
try:
resp = response.json()
print('number:', resp['valid'])
print('number:', resp['international_format'])
print('country:', resp['country_name'])
print('location:',resp['carrier'])
print('-------------------------------------')
mok = open(resp['carrier'],'w+')
if resp['carrier'] == mok.name:
mok.write(num +'\n')
except FileNotFoundError:
if resp['carrier'] == '':
print('skipping')
else:
mok = open(resp['carrier'],'w+')
if resp['carrier'] == mok.name:
mok.write(num)
else:
print('No')
if __name__ == '__main__': main()
【问题讨论】:
-
使用
"w+"文件模式是不可能得到FileNotFoundError的。 -
@OlvinRoght 是的,但由于某种原因,我遇到了异常并修复了它,无论如何你认为你可以帮助我处理我的代码
标签: python loops file-handling