python2.7 - xlwings中,调用的py脚本中的file.write操作不成功
本文介绍了python2.7 - xlwings中,调用的py脚本中的file.write操作不成功的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
版本:
操作系统win7 使用Anaconda 4.2.0(64bit),python2.7.12
xlwings 0.10.0 office 2010
采用xlwings官网教程中的从excel中调用python脚本的方式,即新建一个VBA模块, RunPython ("import t5c ; t5c.main()")
的方式去调用。目前除了write操作,其他都没有问题。
python脚本中是
def main():
sht=xw.Book.caller().sheets[1] #This is use for in Excel
# sht=xw.Book('test3-2.xlsm').sheets[1] #This is for debug in ST
fh=open('temp.txt','a')
fh.write('try')
fh.close()
该脚本从外部运行一切正常,但从excel中调用时,write操作不报错,但是要写入文件的内容并没有实际写入。所以求问为什么。
嗯这个还不稳定,有时候好像还成功过。
谢谢各位
解决方案
这是 Excel
的原因, Excel
中运行的 Python
解释器的工作目录和 Excel
是不同的, 打开文件时你应该指定绝对路径, 比如:
os.path.abspath(os.path.join(os.path.dirname(__file__), 'testFile.txt'))
这篇关于python2.7 - xlwings中,调用的py脚本中的file.write操作不成功的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文