问题标签 [os.walk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - os.walk 没有给出正确的路径
我正在使用以下代码从目录中打开文件。
当我运行这个我得到这个错误
谁能解释这是如何发生的以及我如何解决它
python - Python os.rename 和 os.walk 一起
我刚刚写了一个python脚本来摆脱文件名中一些烦人的后缀,
这是我的代码:
但我在最后一行得到了错误:
我很确定我有正确的路径,因为我可以正确打印出所有文件名。
...真的不知道为什么这行不通。
感谢您的回答
python - Limit the number of nested directories traversed by os.walk
I'm using Python to parse a WordPress site downloaded via wget. All the HTML files are nested inside a complicated folder structure (thanks to WordPress and its long URLs), like site_dump/2010/03/11/post-title/index.html
.
However, within the post-title
directory there are other directories for the feed and for Google News-esque number-based indexes:
I only want to access the index.html files that are at the 5th nested level (site_dump/2010/03/11/post-title/index.html
), and not beyond. Right now I split the root
variable by a slash (/
) in the os.walk
loop and only deal with the file if it is inside 5 levels of folders:
However, this seems kind of inefficient, since os.walk
is still traversing those really deep folders. Is there a way to limit how deep os.walk
goes when traversing a directory tree?
python - 提高python os.walk + 正则表达式算法的效率
我正在使用 os.walk 从特定文件夹中选择与正则表达式匹配的文件。
但这要处理 basedir 下的所有文件和文件夹,相当耗时。我正在寻找一种方法来使用与文件相同的正则表达式来过滤掉每一步中不需要的目录。或者一种只匹配正则表达式的一部分的方法......
例如,在类似的结构中
使用例如以下正则表达式
无需查看例如 /data/2012 即可找到所有 .dat 文件
python - 如何停止遍历当前根并迭代到下一个
我正在编写一个简单的函数,它遍历目录树以查找特定名称的文件夹。我所追求的是匹配的父路径。例如,对于“C:/a/b/c/MATCH”,我想要“C:/a/b/c”。我不需要重复的父项或子文件夹匹配的路径,所以如果有“C:/a/b/c/d/e/f/MATCH”,我不需要它。所以,在我走路的过程中,一旦我有了父母,我想迭代到下一个当前根。
以下是我到目前为止的内容,包括我被卡住的评论。
python - 当文件名很长时,Python 的 os.walk() 在 Windows 中失败
我使用 python os.walk() 来获取某些目录中的文件和目录,但是有些文件的名称太长(>300),os.walk() 什么也不返回,使用 onerror 我得到 '[Error 234] More数据可用'。我尝试使用yield,但也一无所获并显示'Traceback:StopIteration'。
操作系统是windows,代码很简单。我用一个目录测试过,如果有长名文件,就会出现问题,而如果用短名重命名长名文件,代码可以得到正确的结果。
我不能对这些目录做任何事情,例如重命名或移动长名称文件。请帮我解决问题!
python - 当要求打印 dirpaths 时,os.walk() 永远不会返回
我有一个简单的目录结构:
如果我打电话:
...然后我得到你所期望的:
如果我在这些子目录上调用 os.listdir() 也会发生同样的事情。对于每一个,它都会返回该目录中文件的名称。那里没有问题。
如果我打电话:
...然后我得到你所期望的:
但这就是奇怪的地方。当我打电话时:
......它永远不会回来。即使我尝试:
...或任何类似的东西。我总是可以打印 os.walk() 返回的元组的第二和第三部分,但是当我尝试触摸第一部分时,整个事情就停止了。
更奇怪的是,这种行为只出现在使用 shell 启动的脚本中。命令行解释器正常运行。我很好奇,这是怎么回事?
-----编辑----- 实际代码:
----编辑2----另一个发展。如上所述,当代码位于从 shell 启动的脚本中时,就会出现此问题。但不是任何外壳。控制台 2 存在问题,但 Windows 命令提示符不存在。当脚本从java启动时它也存在(我最初是如何遇到问题的),如下所示:http: //www.programmersheaven.com/mb/python/415726/415726/invoking-python-script-from-java/ ?S=B20000
python - os.walk 以什么顺序进行迭代?
我担心 . 给出的文件和目录的顺序os.walk()
。如果我有这些目录,1
, 10
, 11
, 12
, 2
, 20
, 21
, 22
, 3
, 30
, 31
, 32
, 输出列表的顺序是什么?
它是按数值排序的吗?
或按 ASCII 值排序,如ls
?
此外,我怎样才能获得特定的排序?
python - 如何进行递归子文件夹搜索并返回列表中的文件?
我正在编写一个脚本,以递归地遍历主文件夹中的子文件夹并根据某种文件类型构建一个列表。我的脚本有问题。目前设置如下:
问题是该subFolder
变量正在拉入子文件夹列表,而不是 ITEM 文件所在的文件夹。我之前正在考虑为子文件夹运行一个 for 循环并加入路径的第一部分,但我想我会仔细检查是否有人在此之前有任何建议。
python - 在 Python 中将 .dbf 批量转换为 .csv
我有大约 300 个包含 .dbf 文件的文件夹,我想将它们转换为 .csv 文件。
我正在使用os.walk
查找所有 .dbf 文件,然后使用 for 循环利用该dbfpy
模块将每个 .dbf 文件转换为 .csv。它似乎正在正确地查找和读取 .dbf 文件,但没有将它们转换为 .csv。我相信 csv.writer 代码是问题所在。我没有收到任何错误,但文件保留为 .dbf。
我下面的代码基于此处找到的代码。