美文网首页pythonPython我的Python自学之路
生活中的python-随机分配单词输出至word

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

作者: 水手0913 | 来源:发表于2016-11-09 17:40 被阅读144次

    需求:

    一、现有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  
    

    最终效果如图:


    相关文章

      网友评论

      • 码上说:18组你就写18份重复代码?100组岂不是要死
        水手0913:@避闲 我也是个小白,这里肯定是可以用简短的代码解决,可是我没有时间看,哈哈。

      本文标题:生活中的python-随机分配单词输出至word

      本文链接:https://www.haomeiwen.com/subject/saktpttx.html