gpt4 book ai didi

Python 文件计数不匹配

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:04:37 26 4
gpt4 key购买 nike

我有一个简单的脚本来生成随机的基本为空的文本文件,我将其用作另一个项目的沙箱数据。对于所有意图和目的,它都有效,但我注意到,如果选择了大于 1500 的值,则生成的所需文件数和实际计数有时不匹配。

我的代码如下:

import os
import random
path = "data/"
def makeFiles():
count = int(input("How many to make?\n"))
for x in range(0,count):
num = random.randint(10000,999999)
name = path+str(num)+".txt"
f = open(name,"w")
f.write(str(x))
f.close()
print(x)
makeFiles()

我在 Linux Mint(本质上是 Ubuntu 16.04)上使用 Python 3.6。我觉得如果我延迟 time.sleep 可能会解决问题,但事实并非如此。当制作2500个文件时,此时会按常规生成2497个。任何意见,将不胜感激。谢谢!

最佳答案

要避免使用 random.randint() 重复数字,您可以使用 random.sample()。来自@cᴏʟᴅsᴘᴇᴇᴅ的所有其他建议(和被盗代码)。

更新 @cᴏʟᴅsᴘᴇᴇᴅ 删除了他的回答所以这是他的其他建议:

  1. 加入路径时使用os.path.join
  2. 使用 with...as 上下文管理器来管理文件 I/O

例如:

for x, num in enumerate(random.sample(range(10000, 1000000), count)):        
name = os.path.join(path, "{}.txt".format(num))
with open(name, "w") as f:
f.write(str(x))

关于Python 文件计数不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46082501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com