通过文件路径运行python时出现KeyError,直接在目录中运行时没有问题
我正在AWS中使用Ubuntu18 EC2实例。我已经安装了Anaconda软件包 当我直接进入相应的目录并运行通过文件路径运行python时出现KeyError,直接在目录中运行时没有问题,python,ubuntu,Python,Ubuntu,我正在AWS中使用Ubuntu18 EC2实例。我已经安装了Anaconda软件包 当我直接进入相应的目录并运行python code.py时,它运行良好。但是,当我尝试使用文件路径运行脚本时,它不会运行 实际代码: 有效 $python AverageAmountofSessions.py 不工作: $python mycompany/AverageSessions/AverageAmountofSessions.py 错误: 回溯(最近一次呼叫最后一次): 文件“mycompany/Aver
python code.py
时,它运行良好。但是,当我尝试使用文件路径运行脚本时,它不会运行
实际代码:
有效$python AverageAmountofSessions.py
不工作:$python mycompany/AverageSessions/AverageAmountofSessions.py
错误:回溯(最近一次呼叫最后一次):
文件“mycompany/AverageSessions/AverageAmountofSessions.py”,第126行,在
lambda_处理器('事件','内容')
lambda_处理程序中的第28行文件“mycompany/AverageSessions/AverageAmountofSessions.py”
db_host=db_config['mysql']['host']
文件“/home/ubuntu/anaconda3/lib/python3.7/configparser.py”,第958行,在getitem中
升起钥匙错误(钥匙)
KeyError:'mysql'
添加说明:- 调用两个.ini文件以获取登录gmail和数据仓库的凭据
- 库:SQLalchemy、matplotlib、pandas、smtplib、configparser
config = configparser.ConfigParser()
config.read('example.ini')
那么example.ini不是相对于python scipr所在的位置,而是来自$PWD,这意味着运行它时您在shell中的位置
如果您这样做,并且example.ini与您的ini文件位于同一目录中
import os
config = configparser.ConfigParser()
conffile = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'example.ini')
config.read(conffile)
只需看看您的项目是如何配置的,它从执行点开始初始化mysl路径所采用的路径,这无疑非常有帮助。我把头从桌子上摔下来后,注意到我需要在conffile变量的前面加上“os”。一旦我得到它的工作,我会回来标记这是一个认证的答案与任何补充点,我可以贡献。非常感谢。