我正在使用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个图像文件,其文件名应打印到终端上。有人知道我在做什么错吗?
答案 0 :(得分:0)
您可以在错误跟踪中看到,这是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'
这显然不是有效的文件目录。
使用Terminal进入您要搜索的目录,而不是直接从“获取信息”框中复制并粘贴文件路径。然后键入pwd
。使用该命令打印出的内容。
您声称您尝试使用斜杠,但是我几乎可以肯定您在某处输入了错误的内容,因此最安全的选择是使用pwd
的输出。