Python在Mac上打印文件列表目录时没有此类文件或目录错误
我正在使用Udacity尝试学习编码。我们正在上一堂课,这堂课向我们展示如何定位和重命名文件。我当前正在尝试使用以下代码通过文件路径使窗口打印文件夹中的文件列表:Python在Mac上打印文件列表目录时没有此类文件或目录错误,python,macos,Python,Macos,我正在使用Udacity尝试学习编码。我们正在上一堂课,这堂课向我们展示如何定位和重命名文件。我当前正在尝试使用以下代码通过文件路径使窗口打印文件夹中的文件列表: import os def rename_files(): # (1) get file names from a folder list_files = os.listdir("Macintosh HD ▸ Users ▸ minstrelking ▸ Downloads ▸ prank")
import os
def rename_files():
# (1) get file names from a folder
list_files = os.listdir("Macintosh HD ▸ Users ▸ minstrelking ▸ Downloads ▸ prank")
print (list_files)
rename_files()
我尝试过很多不同的方法,比如删除“Macintosh HD”或将其改为“Macintosh_HD”。我试着一个接一个地从路径的末尾删除文件夹,并不断重复检查我的拼写。我试着替换小箭头(”▸") 使用前斜杠,然后是后斜杠,甚至是推荐的两种斜杠组合。我尝试添加:
os.path.expanduser
正如在其他论坛上建议的,关于这个问题。但是,我得到了以下错误:
Traceback (most recent call last):
File "/Users/minstrelking/Documents/rename_file.py", line 7, in <module>
rename_files()
File "/Users/minstrelking/Documents/rename_file.py", line 4, in rename_files
print os.listdir("Macintosh HD ▸ Users ▸ minstrelking ▸ Downloads ▸ prank")
OSError: [Errno 2] No such file or directory: 'Macintosh HD\xe2\x81\xa9 \xe2\x96\xb8 \xe2\x81\xa8Users\xe2\x81\xa9 \xe2\x96\xb8 \xe2\x81\xa8minstrelking\xe2\x81\xa9 \xe2\x96\xb8 \xe2\x81\xa8Downloads\xe2\x81\xa9 \xe2\x96\xb8 \xe2\x81\xa8prank\xe2\x81\xa9\xe2\x81\xa9'
回溯(最近一次呼叫最后一次):
文件“/Users/minstrelking/Documents/rename_File.py”,第7行,在
重命名_文件()
文件“/Users/minstrelking/Documents/rename_File.py”,第4行,在rename_文件中
打印os.listdir(“Macintosh HD ▸ 使用者 ▸ 吟游诗人 ▸ 下载 ▸ 恶作剧")
OSError:[Errno 2]没有这样的文件或目录:“Macintosh HD\xe2\x81\xa9\xe2\x96\xb8\xe2\x81\xa9\xe2\x96\xb8\xe2\x81\Xa2\x81\xa9\xe2\x96\Xb2\x81\Xa8下载\xe2\xa9\xe2\Xe96\xb8\Xa2\Xa2\Xa2\Xa8\Xa2\Xa8
我直接从右键单击文件时弹出的“获取信息”框复制并粘贴了该文件路径。该文件夹“恶作剧”有30个图像文件,其文件名应打印到终端。有人知道我做错了什么吗?正如您在错误跟踪中看到的,这是Python试图查找的实际目录:
'Macintosh HD\xe2\x81\xa9 \xe2\x96\xb8 \xe2\x81\xa8Users\xe2\x81\xa9 \xe2\x96\xb8 \xe2\x81\xa8minstrelking\xe2\x81\xa9 \xe2\x96\xb8 \xe2\x81\xa8Downloads\xe2\x81\xa9 \xe2\x96\xb8 \xe2\x81\xa8prank\xe2\x81\xa9\xe2\x81\xa9'
这显然不是有效的文件目录
不要直接从“获取信息”框复制并粘贴文件路径,而是使用终端进入要搜索的目录。然后键入pwd
。使用该命令打印的内容
您声称您尝试使用斜杠,但我几乎可以肯定您在某个地方键入了错误的内容,因此最安全的选择将是使用
pwd
“我尝试替换小箭头(”▸") 使用正斜杠,然后是反斜杠,甚至是推荐的两种组合。“-如果这些箭头起作用,我会非常惊讶。当您切换到正斜杠时,是否也删除了箭头周围的空格?是否用前导正斜杠替换HD?类似于/Users/吟游诗人/下载/恶作剧
应该有用。@Chris OP在帖子中说,“直接从“获取信息”框中选择文件路径”感谢您的输入。当我尝试使用斜杠时,它们就是这样使用的。list_files=os.listdir(“使用者/吟游诗人/下载/恶作剧") list_files=os.listdir(“Macintosh HD/Users/吟游诗人/下载/恶作剧“@minstrelking如果忘记了开头的斜杠,请尝试:”/使用者/吟游诗人/下载/恶作剧“
再次感谢。这是我的代码和结果。导入os def rename_files():#(1)从文件夹列表中获取文件名_files=os.listdir(“/Users/吟游诗人/下载/恶作剧“”)打印(列出文件)重命名文件()回溯(上次调用):文件“/Users/minstrelking/Documents/rename\u File.py”,第7行,在重命名文件()文件“/Users/minstrelking/Documents/rename\u File.py”中,第4行,在重命名文件列表\u files=os.listdir(“/Users/吟游诗人/下载/恶作剧)OSError:[Errno 2]没有这样的文件或目录:'/Users/\xe2\x81\xa8minstrelking\xe2\x81\xa9/\xe2\x81\xa8Downloads/\xe2\x81\xa8prank\xe2\x81\xa9'>>如何使用包含输出pwd的方法?