python创建与pdf同名的doc文件

自己产生的一个小需求,最近需要对看过的pdf文件注释,所以就存储在同名doc文件里面好找一些,不想建立了,所以就用python写了个小文件,折腾了好久才知道哪里出错了,希望自己以后能记住,而且代码功能还不是很完善,先放在这里吧。

最重要的两篇参考网址:

使用python来控制ms word

使用python遍历文件夹存储word为html文件

目前的最终代码如下:

#!usr/bin/python
import sys,os
from win32com import client as wc
word = wc.Dispatch('Word.Application')
def createdocfrompdf(dir,old,new):
	if old[:1]!='.':
		old	=	'.'	+	old
	thelen=-len(old)
	print thelen
	if new[:1]!='.':
		new='.'+new
	for path,subdirs,files in os.walk(dir) :
		for oldfile in files :
			
			if oldfile[thelen:]==old:
				print oldfile
				oldfile=os.path.join(path,oldfile)
				# newfile=os.path.normcase(oldfile[:thelen]+new)
				newfile=oldfile[:thelen]+new
				print newfile
				# doc=open(newfile)
				doc = word.Documents.Add()
				doc.SaveAs(newfile)
				
	word.Quit()


if len(sys.argv)!=4:
    print "Usage:root dir old new"
    sys.exit(100)

createdocfrompdf(sys.argv[1],sys.argv[2],sys.argv[3])

使用了pywin32模块,下载地址在 pywin32 注意要找到针对自己电脑的版本,比如我的是32位xp python 2.7.3,折腾了这么久呢,主要的原因是一直找不到文件,一开始我以为是中文文件名的问题,搞utf8和gbk编码搞了好久发现还是不行,后来才发现word.Documents.Open函数只是打开已存在的文件,那么就查到了Document.Add命令,即生成新文件,生成新文件不能直接用os.rename,因为rename是直接对字符串进行操作,所以我就直接将生成的文档saveas就可以了

这里是坛里一个处理中文文件名的讨论,没有仔细研究,有兴趣的大家可以看看

python处理中文文件名 中文路径

使用方法

python a.py "E:\My Documents\" pdf doc

当然目前我还是有一个疑问没有解答,毕竟很久没有碰python程序了,就是我在cmd控制台下直接在文件所在路径下进入python环境,居然说找不到a.py,即我运行
a.py "E:\My Documents\" pdf doc

居然提示我找不到a.py文件 很囧 或者在"E:\My Documents\" 下说invalid syntax,我想这种问题可能大家都解决过吧,所以google也没有找到过对应的答案,很希望有人能解答。
O ,关于要增加的功能,比如检测是否已经存在同名文件等等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值