[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 ivor 于 2016-2-18 18:03 编辑

回复 1# kkfgef
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%a in (1,1,10) do (
  3. for /l %%b in (1,1,1000000) do (
  4. set ran=!random!!random!!random!!random!
  5. echo !ran:~-9!
  6. )
  7. )>%%a.txt
  8. pause
复制代码
  1. # python 3.5.1
  2. # coding:utf-8
  3. # 功能:随机9位数字前面补0,无重复
  4. import random, os, time,traceback
  5. start_time = time.time()
  6. num = list(range(10000000))
  7. random.shuffle(num)
  8. a = 1
  9. wFile = open("%s/%d.txt" % (os.path.split(__file__)[0],a ), 'w')
  10. print("正在写入第%d个文件" % a)
  11. try:
  12.     for i in range(len(num)):
  13.         num[i] = "%09d" % num[i]
  14.         if  i / 1000000 >= a:
  15.             a += 1
  16.             wFile.close()
  17.             wFile = open("%s/%d.txt" % (os.path.split(__file__)[0], a), 'w')
  18.             print("正在写入第%d个文件" % a)
  19.         wFile.write(num[i] + "\n")
  20. except:
  21.     traceback.print_exc()
  22. finally:
  23.     wFile.close()
  24.     print("耗时:%d秒" % (time.time() - start_time))
  25.     input("按回车退出")
复制代码
python 10个文本全部写入耗时39s。

CMD 结果就不发了,需要几分钟
1

评分人数

#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

本帖最后由 ivor 于 2016-2-18 17:25 编辑

回复 3# kkfgef


    2楼  python 代码已更新,去除重复结果
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

本帖最后由 ivor 于 2016-2-19 00:50 编辑

用啥语言,一次性生成10亿个数字都得歇菜,除非分批来解决

考虑用两个数组表示,只是效率不高,但是你想要多大的随机数内存都不是问题
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

返回列表