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
变量处理不同的事情,这确实让人困惑。避免重复使用相同的变量。