[英]Why isn't os.walk recognising my variable name?
我在TextWrangler中编写了以下内容:
directory = raw_input("See contents of: ")
for root, dirs, files in os.walk(directory):
print root, dirs, files
不幸的是,当我在终端中运行它并通过在Dock中键入或拖动文件夹来分配目录路径时,没有任何反应。 甚至没有错误消息。 另一方面,当我在TextWrangler中输入以下内容然后在终端中运行程序时,它工作正常。
for root, dirs, files in os.walk("/Users/paulpatterson/Documents/Python"):
print root, dirs, files
那么我的问题是,为什么os.walk不接受变量形式的路径。 我正在使用的书建议这样做,就像我在尝试理清这些问题时在网上看到的大多数示例一样。
只需在循环之前print directory
以查看您真正获得的路径。 这就是问题所在,而不是os.walk
不接受变量。
将OSX下的文件夹放入终端时:
两者都会阻止os.walk找到路径。 你没有得到错误很简单。 os.walk没有给出那个案例的错误。 它根本不会遍历不存在的路径。
不幸的是,当我在终端中运行它并通过在Dock中键入或拖动文件夹来分配目录路径时,没有任何反应。
如您所说,我已经尝试过将文件夹拖到我的终端上(我在Linux上),它会显示用引号引起来的路径。
在raw_input
应该解决您的问题之后删除引号
import os
directory = raw_input("See contents of: ")
directory = directory.strip()
if directory[0] == "'" and directory[-1] == "'":
directory = directory[1:-1]
print directory
for root, dirs, files in os.walk(directory):
print root, dirs, files
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.