重新安装Python的开发环境

更换了电脑,很长一段时间没有编写代码了。重新安装Python3.7+PyCharm2018.3.5+PyQt5.13

1、PyCharm安装:下载很方便,但是找注册激活码用了一个多小时。很多都是从裸睡的猪抄的、转的,但已经在2019.5.4无效了。最后亲测有效的是:

https://blog.csdn.net/lengyuewusheng99/article/details/91383737

pycharm2018.3.5专业版破解教程——亲测(有效期到2100年)

2、Python安装完毕后,使用PIP安装PyInstaller、PyQt5、QtDesigner,这个目前还是顺利的。

然后利用命令:

python -m pip install PyInstaller

python -m pip install PyQt5

python -m pip install PyQt5-tools

需要先修改配置环境变量

需要用管理员启动Cmd命令行界面。

3、为了继续操纵word文档和excel文件,需要重新装回win32com,命令:python -m pip install pypiwin32

 会出现ModuleNotFoundError: No module named 'win32com'。还需要在PyCharm里面处理一下:

选择【File】-【Settings】,找到当前的项目,选择【Project Interpreter】,在右边的列表里可以看到已经安装的各种库、对应的版本以及最新版本,然后点击+ 号,搜索报错的pypiwin32库,选中后点击【Install Package】安装库,安装成功就可以使用了。

4、碰到的几个小问题这里再备注一下,包括解决办法:

  • 挑选目录对话框wApp.FileDialog(4),#4=目录,通过在word的宏里面查找对应的常量数值解决的这个问题
MyDialog = wApp.FileDialog(4)

if -1 == MyDialog.Show():
    localfile = MyDialog.SelectedItems(1)
return localfile
  • 用了一个简单的递归来完成包括子目录下的所有文件的搜索。其中myvar是一个常量定义模块,用全局变量来保存数据。
def get_format_file(rawdir):
    if os.path.isdir(rawdir):
        allfiles = os.listdir(rawdir)
        for fstr in allfiles:
            f = rawdir + "\\" + fstr
            if os.path.isdir(f):
                get_format_file(f)
            elif os.path.isfile(f):
                if re.search('doc$|docx$', f):
                   myvar.myfiles.append( f )
                   myvar.fileNum = myvar.fileNum+1
            else:
                print("something maybe wrong or Null Directory!")
    else:
        print("ERROR: " + rawdir + " is not a dir or file!")
    if myvar.fileNum > 0 :
        print ("fileNum = %d" % myvar.fileNum)
    #print(myvar.myfiles)
    return myvar.fileNum
  • 还有一个问题是修改文件名时候遇到,由于重名会出现命名失败导致保存出错。后来还是稳妥起见,把所有文件对应在新目录下放个拷贝。每次运行时,选择两次目录:原目录,放替换后文件的新目录。
  • 替换页眉里面的文字。用的方法也还是在word的宏里面查找对应的常量数值,然后编码。这个在运行时还是有一些问题(页眉嵌套的表里面的文字就替换不了),但基本可用,后面没有再花时间去探究了。

opRange = tgtDoc.StoryRanges(7) #wdPrimaryHeaderStory=7

opRange.Select()

WordApp.Selection.Find.ClearFormatting()

WordApp.Selection.Find.Replacement.ClearFormatting()

WordApp.Selection.Find.Execute(OldStr, False, False, False, False, False, True, 1, False, NewStr, 2)

估计这个切换清楚还需要一点时间。需要培养个新人来接,不然我这样有一搭没一搭地干下去,很快要重新丢掉了。不知不觉,有一年没弄这个Python了。原来做的小工具据说有团队在用,但一点反馈没有,没有继续维护和改进的动力了。对热情工作者来说,冷漠其实是比反对更糟糕的伤害。

发布了130 篇原创文章 · 获赞 62 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/hgstclyh/article/details/100928321
今日推荐