python - 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 个图像文件,其文件名应打印到终端。有谁知道我做错了什么?
解决方案
正如您在错误跟踪中看到的,这是 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
.
推荐阅读
- python - /users/sigup create_user() 的 TypeError 采用 2 到 4 个位置参数,但给出了 5 个
- java - 在 Java 中生成有效的 ES256 签名
- r - 如何完全加入数据框列表的列表列表
- python - Panda Datetimes:从日期时间列表中获取日期时间范围
- javascript - javascript pdf表格生成
- amazon-dynamodb - 通过 dynamoDB 中的 batchGetItem 获取超过 100 个项目
- python - 从 CSV 读取数据并使用 Python 3.7 将其更改为元组
- ffmpeg - FFMPEG 无法将 .MP4 编码为可用的 .Y4M RAW 视频:“不允许操作”
- couchdb - 按 unix 时间戳和分页对 CouchDB 结果进行排序
- security - kubectl 如何比 SSH 守护程序/访问容器更安全?