如何解决FileNotFoundError:[Errno 2]没有这样的文件或目录,映射的驱动器,Python
我对Linux和Python还是陌生的,因此我的术语和对环境的理解可能不正确,但是我只是试图在网络共享上打开文件,似乎无法正确使用。
我在Raspberry Pi上创建了文件夹〜/ NAS_2,并使用fstab中的条目将其映射到NAS上的共享。 ls命令和结果显示该文件存在,并且使用pi帐户(是root的成员)登录时,在Pi上可以看到该文件。
pi@PI-0W-02: ~ $ ls -ld ~/NAS_2
drwxrwxrwx 52 root root 0 Oct 9 08:56 /home/pi/NAS_2
共享中有一个名为setup_info.txt的文件。
pi@PI-0W-02: ~ $ ls ~/NAS_2/setup_info.txt
/home/pi/NAS_2/setup_info.txt
当我尝试使用以下代码从Python打开文件时,出现以下Python代码段错误。
>>> file_object = open("~/NAS_2/setup_info.txt","w")
FileNotFoundError: [Errno 2] No such file or directory: '~/NAS_2/setup_info.txt'
如果我使用下面的代码,Python似乎很乐意打开文件。
>>> os.chdir("NAS_2")
>>> file_object = open("setup_info.txt","w")
很明显,这是Python 101的东西,但是我不明白为什么要花2个步骤打开文件,我也不必担心在脚本中使用chdir的副作用。有什么方法可以在open命令中包含该路径,还是我被卡住了?
在此先感谢您提供的帮助。
解决方法
据我了解,您的问题是您的python无法找到/完成相对路径。如果是这样,并且“ home / pi”指向文件系统根目录中名为“ pi”的目录,则可能需要:
import os
dir_path = os.path.join(os.path.expanduser('~'),'pi','NAS_S')
file_path = os.path.join(dir_path,'setup_info.txt')
或者完整路径看起来像什么, 代替:
dir_path = "~/NAS_S"
file_path = "~/NAS_S/setup_info.txt"
如果这行得通,那是因为Python不知道如何在路径开始处处理'〜'。和/或您的python脚本/实例未在根目录中用完。
或者,您可以使用glob
import glob,os
file_name = 'blah.ext'
glob.glob(os.path.join(os.path.expanduser('~'),'*blah.ext')) ## a list of files that match the search pattern
要充分利用glob,请参阅上面的文档,以及fnmatch的文档,以获取有关模式语法的更多信息
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。