Python 如何打开特定目录中的文件?

Python 如何打开特定目录中的文件?,python,Python,这是我的代码: 导入操作系统 ... savepath=“/home/myname/Documents/programfolder/vanities/” #ctx.author.id来自discord.py模块,与问题无关。 userFile=os.path.join(保存路径,str(ctx.author.id)+“.txt”) ... 尝试: 虚荣=打开(用户文件,“r”) 虚荣=虚荣 server=get\u guild(myserverid) vanityrole=server.get_

这是我的代码:

导入操作系统
...
savepath=“/home/myname/Documents/programfolder/vanities/”
#ctx.author.id来自discord.py模块,与问题无关。
userFile=os.path.join(保存路径,str(ctx.author.id)+“.txt”)
...
尝试:
虚荣=打开(用户文件,“r”)
虚荣=虚荣
server=get\u guild(myserverid)
vanityrole=server.get_角色(虚荣)
vanityrole=role.edit(name=str(rolename),color=int(hexcolor))
除FileNotFoundError外:
虚荣=打开(用户文件,“w”)
vanityrole=role\u create(name=str(rolename),color=int(hexcolor))
虚荣=虚荣。写(str(vanityrole.id))
通过
当我运行这个时,我收到一个错误

Ignoring exception in command vanity:
Traceback (most recent call last):
  File "./bot.py", line 27, in vanity
    vanity = open(userFile, "r")
FileNotFoundError: [Errno 2] No such file or directory: '/home/myname/Documents/programfolder/vanities/myid.txt'
为什么要尝试: 除FileNotFoundError外: 不工作? 我尝试了IOError和OSError,但都没有成功。 open(userFile,“w”)也会发生此错误。
作为参考,我的程序运行在/home/myname/Documents/programfolder/

中,请检查
保存路径是否存在

  • 如果目录不存在,您遇到的错误总是会发生。
  • 追加模式可以处理写入和读取:
    • 如果目录存在,它将创建文件(而不是目录)
    • 否则,如果没有这样的目录,同样的想法是,“没有这样的文件或目录”
大多数情况下,
with
子句负责关闭资源。您可以将这样的内容包装在try/catch中,或者先检查目录是否不存在(上面的第一个链接),然后根据需要创建

#首先在此处处理目录存在
...
打开(用户文件“a+”)作为fp时:
fp.seek(0)
contents=fp.read()
#在此处处理找到的内容
如果没有内容:
新内容=。。。
fp.write(新内容)

@Chrispresso这将如何帮助理解为什么
except FileNotFoundError:
子句没有按预期执行?最后一行的
pass
看起来很奇怪。@Chrispresso仍然会出现相同的错误。删除
try
和整个
except
块。运行你的代码。报告它所说的。你一直在用
VALITY
变量处理不同的事情,这确实让人困惑。避免重复使用相同的变量。