Ahm*_*oor 1 python random file-io file
我正在编写一个python hangman程序,我希望能够从文件中随机生成一个单词,并且它可以工作.但我从网站上获得了这一代码的一行,它帮助我做我需要做的事情,但我不知道如何.
谢谢
offset = random.randint(0, os.stat(filename)[6]) # ?????
fd = file(filename, 'rb')
fd.seek(offset)
fd.readline()
return fd.readline()
Run Code Online (Sandbox Code Playgroud)
os.stat(filename)[6]只返回名为的文件的大小(以字节为单位)filename.您可以os.stat() 在文档中阅读更多相关信息.
random.randint(...)生成一个介于0和0之间的随机整数n,其中n是通过的文件大小os.stat().
然后代码寻找文件中的(随机)位置.很有可能这个位置在一条线的中间.因此,代码读取部分行并丢弃它.然后它读取下一行并返回它.
最后,代码有一个错误:如果随机位置落在文件的最后一行,第二readline()行将无法读取.
编辑:另外,正如@Russell Borogove在评论中所指出的,这种方法并不能确保以相同的概率选择线.
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |