请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

os.getcwd()获取路径有误

base_path = os.getcwd()
sys.path.append(base_path)
open_excel = openpyxl.load_workbook(base_path+"/Case/imooc.xlsx")

base_path打印是/Users/wy/PycharmProjects/ApiAuto/Util

那么:open_excel=/Users/wy/PycharmProjects/ApiAuto/Util/Case/imooc.xlsx

但imooc.xlsx的实际路径是/Users/wy/PycharmProjects/ApiAuto/Case/imooc.xlsx

所以这么openpyxl.load_workbook(base_path+"/Case/imooc.xlsx")拼接就不对

正在回答 回答被采纳积分+3

1回答

提问者 媛猿 2019-09-29 20:27:42

base_path=sys.path[1]

这样获取到的才是/Users/wy/PycharmProjects/ApiAuto

0 回复 有任何疑惑可以回复我~
  • 这个获取的是你执行程序的路径,那么我们执行程序实在项目目录下执行的,你如果到包目录下执行肯定是这个结果
    回复 有任何疑惑可以回复我~ 2019-09-30 10:42:14
  • 老师你好,请问下这个执行程序的路径怎么理解呢?比如一个工程目录:C:/imoocinterface/study/test.py,test.py中写入base_path = os.getcwd(),执行test.py时,什么情况下执行程序使base_path的值为C:/imoocinterface,又什么情况下执行程序使base_path的值为C:/imoocinterface/study呢?麻烦老师解答下,谢谢~
    回复 有任何疑惑可以回复我~ 2019-10-19 00:38:19
  • 而且我自己也试验了下,这个工程C:/imoocinterface/study/test.py,在Visual Studio Code执行时base_path打印的值为C:/imoocinterface,在pycharm执行时base_path打印的值为C:/imoocinterface/study,所以不知道怎么理解
    回复 有任何疑惑可以回复我~ 2019-10-19 00:47:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信