我面临一个非常独特的问题。
random.seed(123)
rg = PhoneMetadata.metadata_for_region(random.choice(('US', 'FR', 'IN', 'GB')))
pl = rg.mobile.possible_length
cc = rg.country_code
print(''.join(str(random.randint(0, 9)) for _ in range(pl[0])))
--3982597919
random.seed(345)
rg = PhoneMetadata.metadata_for_region(random.choice(('US', 'FR', 'IN', 'GB')))
pl = rg.mobile.possible_length
cc = rg.country_code
print(''.join(str(random.randint(0, 9)) for _ in range(pl[0])))
--3982597919
我给的是不同的种子号,但是输出给我的号码相同。它不会每次都发生,但我随机地面对这个问题。
任何帮助都会非常感激。
答案 0 :(得分:0)
任何帮助都会非常感激。
由于你已经排除了PhoneMetadata
,一个调试帮助可能是保存每次调用的随机状态,并在出现问题时检查它。保存:
pickle.dump(random.getstate(), open(tempfile.mktemp(), "w"))
要恢复,请查看临时目录,按日期排序,并恢复最新的通道,比如说
random.setstate(pickle.load(open("/tmp/tmpQMWOE4")))
然后查看是否可以使用此状态重现行为。