生活中的python-随机分配单词输出至word

需求:

一、现有250个英语单词按1-300序号分好,需要从中随机选取18个组成一组,总共18组。(只取序号就行)然后将分好的组输出到word里。
二、因为使用者对电脑不熟悉,所以最好能用最简单的方法运行py文件(使用批处理,运行一下批处理文件即可)

思路:

因为只需要随机选取序号就行,可以生成一个列表,里面包含了1到300即可

words = range(1,250)

之后使用python下的win32com模块,将随机选取的序号写到word文件里即可。

win平台下安装win32com模块命令:

pip install pypiwin32

完整代码如下:

import random
import win32com
from win32com.client import Dispatch, constants
import itertools
import random

w = win32com.client.Dispatch('Word.Application')
#后台运行,不显示,不警告
w.Visible = 0
w.DisplayAlerts = 0
doc = w.Documents.Add()

myRange = doc.Range(0,0)
myRange.Style.Font.Name = "宋体"
myRange.Style.Font.Size = "16"

words = range(1,250)


myRange.InsertAfter('第一组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))  #随机从words中选取18个单词插入到文件
myRange.InsertAfter('\n')

myRange.InsertAfter('第二组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第三组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第四组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第五组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第六组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第七组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第八组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第九组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第十组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第十一组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第十二组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第十三组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第十四组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('\n')
myRange.InsertAfter('第十五组:')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第十六组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第十七组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

myRange.InsertAfter('第十八组:')
myRange.InsertAfter('\n')
myRange.InsertAfter(random.sample(words, 18))
myRange.InsertAfter('\n')

doc.SaveAs(r'D:\d.doc') #最终文件保存在d盘

doc.Close()
w.Quit()



使用批处理文件运行py文件

因为这样写成的脚本需要在shell中运行,对于不熟悉电脑的朋友来说有点难度,所以给出一个批处理文件,只需要双击此文件就可直接生成最终的word文件。

这里,我将python文件命令为2.py,将批处理文件和py文件同时放在桌面,你可以自行修改下面的路径。

批处理文件完整代码如下:

@echo off  
C:  
cd C:\Users\Administrator\Desktop
start python 2.py
exit  

最终效果如图:


生活中的python-随机分配单词输出至word_第1张图片

你可能感兴趣的:(生活中的python-随机分配单词输出至word)