首页 > 解决方案 > Python没有这样的文件或目录错误尝试在Mac上打印文件列表目录

问题描述

我正在使用 Udacity 尝试学习编码。我们正在学习如何定位和重命名文件。我目前正在尝试通过使用以下代码遵循文件路径来获取窗口以打印文件夹中的文件列表:

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'

我直接从右键单击文件时弹出的“获取信息”框中复制并粘贴了该文件路径。该文件夹“恶作剧”有 30 个图像文件,其文件名应打印到终端。有谁知道我做错了什么?

标签: pythonmacos

解决方案


正如您在错误跟踪中看到的,这是 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.


推荐阅读