Existe-t-il une méthode intégrée pour le faire? Si ce n’est pas le cas, comment puis-je le faire sans coûter trop cher?
Réponses
Trop de publicités?
Tony Veijalainen
Points
2579
<pre><code></code><p>Pour un fichier très long :
cherchez à placer aléatoirement dans le fichier en fonction de sa longueur et trouvez deux caractères de nouvelle ligne après la position (ou la nouvelle ligne et la fin du fichier). Refaites 100 caractères avant ou à partir du début du fichier si la position de recherche d’origine était <100 si nous nous sommes retrouvés à l’intérieur de la dernière ligne.</p><p>Cependant, c’est trop compliqué, car le fichier est un érilatateur. Alors faites-en une liste et prenez random.choice (si vous en avez besoin de plusieurs, utilisez random.sample):</p><pre><code></code></pre></pre>
cji
Points
2536
ideasman42
Points
1682
Si vous ne souhaitez pas lire l’intégralité du fichier, vous pouvez rechercher au milieu du fichier, puis rechercher à l’envers la nouvelle ligne et appeler `` .
Voici un script Python3 qui fait exactement cela,
Un inconvénient de cette méthode est que les lignes courtes ont moins de chances d’apparaître.