使用python open()函数获取错误
我目前正在开发一个discord机器人,我的部分项目涉及从.txt文件中提取数据。它与bot位于同一个工作区,当我从工作区中的其他模块打开它时,它工作正常;但是,当我从bot客户端的.py文件调用它时,我得到以下错误:使用python open()函数获取错误,python,discord,Python,Discord,我目前正在开发一个discord机器人,我的部分项目涉及从.txt文件中提取数据。它与bot位于同一个工作区,当我从工作区中的其他模块打开它时,它工作正常;但是,当我从bot客户端的.py文件调用它时,我得到以下错误: Ignoring exception in on_message Traceback (most recent call last): File "C:\Users\canon\Anaconda3\envs\tony\lib\site-packages\discord\cli
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\canon\Anaconda3\envs\tony\lib\site-packages\discord\client.py", line 312, in _run_event
await coro(*args, **kwargs)
File "C:/Users/canon/PycharmProjects/discordia/bot.py", line 25, in on_message
x = dt.retrieve_account(user)
File "C:\Users\canon\PycharmProjects\discordia\discord_tools.py", line 25, in retrieve_account
user_file = open(txt_file, "r")
FileNotFoundError: [Errno 2] No such file or directory: 'users.txt'
TLDR;从discord_tools.py调用open(“users.txt”,“r+”)
可以正常工作,但从bot.py调用它(bot.py反过来又引用discord_tools.py)不起作用
请帮忙
-geisha到
open()
的相对路径与流程的工作目录相对
假设:
- 您确定该文件确实存在(否则,
模式无法读取),并且r+
- 您(或库)没有使用
来更改工作目录os.chdir()
- 如果您通过PyCharm(或其他IDE)运行应用程序,您的工作目录设置错误;查看PyCharm/IDE设置,以便在启动配置中正确设置
- 如果通过命令行运行,请确保运行应用程序时位于users.txt所在的目录中
discordia/discord_tools.py
中
导入操作系统
discordia\u path=os.path.dirname(\u文件\u)
users\u file\u path=os.path.join(discordia\u path,“users.txt”)
您的工作和非工作场景显然有不同的工作目录。一种可能是使用文件的完整路径名,因此代码从何处运行并不重要。请检查工作目录或使用文件的绝对路径