下午好, 我有一个python pandas concat脚本,它水平地将2个CSV合并成一个“master.csv”,并在合并后的master.csv中重命名其中一个CSV头文件。我目前有一个包含100个子文件夹的目录,每个子文件夹中都有两个csv2(所有csv2都有相同的文件名: csv1,csv2)。我想在主目录中的每个子文件夹上批量运行pandas concat脚本。我假设我需要一些循环,但对python和pandas仍然缺乏经验。任何帮助都将不胜感激! 脚本如下: import pandas as pd
a = pd.read_csv("csv1.csv")
b
Unix文件名通配符如何从Python中工作
给定的目录只包含子目录,其中每个子目录中都有一个以已知字符串结尾的文件,比如_ext.。文件名的第一部分总是变化的,所以我需要使用这个模式来访问文件。
我想这么做:
directory = "."
listofSubDirs = [x[0] for x in os.walk(directory)]
listofSubDirs = listofSubDirs[1:] #removing "."
for subDirectory in listofSubDirs:
fileNameToPickle = subD
我在努力学习蟒蛇。我试图遍历一个目录并打印目录路径、从目录名和文件名中提取的数字,但我的循环没有继续:它只从第一个目录打印此信息。如何继续这个循环?
#!/usr/bin/python
import os
import re
#change directory
os.chdir('/Users/me/Pictures/')
for root, dirs, files in os.walk(os.getcwd()):
for i in dirs:
val = re.search('\d+', i)
if val:
我知道如何列出给定目录中所有子目录的问题,答案是。它包括这一公认的解决办法:
subdirs = [x[0] for x in os.walk(dirToSearch)]
当目录中只有几个文件时,这很好。不过,我正在尝试在包含数千个文件的文件夹上使用这一点,而os.walk显然正在对所有这些文件进行迭代,这意味着运行起来需要很长时间。有没有办法做到这一点(标识所有子目录),而不被文件所困扰?忽略文件的os.walk的替代方案?
我试着在Windows网络目录上做这件事。
谢谢,亚历克斯
我在不同的文件夹和子文件夹中有几个不同类型的文件。它们的数量是巨大的。我希望从所有位置提取所有文件,并复制到一个单一的目录。
我写了一个Python脚本,如下所示,仅用于.doc文件,但它占用了太多时间。
import os
from fnmatch import fnmatch
def listallfiles1(n):
root = 'C:\Cand_Res'
pattern = "*.doc"
for path, subdirs, files in os.walk(root):
for name in files:
我已经写了一个图像雕刻脚本来帮助我的工作。该工具通过指定的扩展来雕刻图像,并将其与哈希数据库进行比较。
该工具用于跨安装驱动器进行搜索,其中一些驱动器上有操作系统。
我遇到的问题是,当一个驱动器挂载在操作系统上时,它会在“所有用户”目录中搜索,包括来自本地磁盘的图像。
我不知道如何跳过“所有用户”目录,只需坚持挂载驱动器。
我的os.walk部分如下:
for path, subdirs, files in os.walk(root):
for name in files:
if re.match(pattern, name.lower()):
我有一个包含多个子目录的文件夹,每个子目录包含几个文件。我想要获得所有子目录中所有文件的总和。下面的列表理解效果很好:
sum_total = len([file for file in os.listdir(current_directory)])
我如何修改它以包括计算所有子目录(不仅仅是current_directory)中的所有文件?或者我必须使用传统的for循环和计数器?有没有类似下面的东西我可以用?
sum_total = len([file in os.listdir(current_directory + '\\' + folder) for folder in
我的问题是:假设我想创建一个文件同步函数,它遍历两个相似目录的所有文件夹和子文件夹,并检测这两个目录的所有公共文件夹/子文件夹。我尝试将os.walk模块和filecmp模块结合起来。到目前为止,我的代码如下所示:
import filecmp
import os
src=r"C:\Users\j2the\Documents\Test3"
dst=r"C:\Users\j2the\Documents\Test4"
comparison = filecmp.dircmp(dst, src)
for dirpath,dirnames,filenames in
我有一个目录"a“,其中包含了通过a1通过a5的5个子目录。我想要的是,如果我给出一个“路径”作为脚本的输入,我需要该路径中的目录列表。例如,如果我在这里说过"path=/home/abc/a“,输出应该是a1通过a5。
使用os.walk的o/p与我所得到的want..how略有不同。
>>> import os
>>> for dirs in os.walk("."):
... print "Name", dirs
...
Name ('.', [&
我有如下代码:
temp = os.walk(sys.argv[1])
for root, dirs, files in temp:
for i in dirs:
dir = os.path.join(root,i)
os.rename(dir, dir+"!")
它几乎可以正常工作。但是,一旦父文件夹被重命名,它就不能更名子文件夹。我该如何避免这种情况呢?
我使用glob通过这行代码列出了主目录中的所有python文件。我想要查找所有的.json文件以及py文件,但是我找不到任何可以在一行代码中扫描多种文件类型的文件。
for file in glob.glob('/home/mohan/**/*.py', recursive=True):
print(file)
基本的Python问题。
正在使用os.walk函数,并看到不一致的错误消息。下面是抽样交单:
Python 3.6.2 (default, Jul 18 2017, 14:08:57)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>>
我想谈几个目录一次,只需获取一个数字的信息。目前我使用:
i = 0
for root, dirs, files in os.walk(home_path):
if i >= 1:
return 1
i += 1
for this_dir in dirs:
do stuff
当然,这是非常乏味的。当我想在它下面行走时,我做同样的5行,使用j,等等.
在python中,在一个目录下抓取所有目录下的所有目录和文件的最短方法是什么?
不幸的是,这段代码的运行速度比"os.walk“慢,但是为什么呢?
会不会是"for“循环导致它运行缓慢?
“代码”,类似于'os.walk': ( "os.walk“函数做它所做的事情)
注:我写是为了提高我自己!
import os, time
from os.path import *
x = ""
y = []
z = []
var = 0
def walk(xew):
global top, var, x,y,z
if not var: var = [xew]
for i in var:
如果路径同时包含"release“和"arm-linux”,我需要阻止os.walk进一步下降。我有一堆不同级别的目录。所以我不能简单地说了算。到目前为止,我有以下内容,它不必要地跳过了‘arm’中的目录。
def main(argv):
for root, dirs, files in os.walk("."):
path = root.split(os.sep)
if "release" and "arm-linux" in path:
我在用于测试的目录中包含了大量的文件。我需要保留应用程序的目录结构,但希望精简文件以便更快地进行测试。我想将一个目录的文件数量限制在3个。在linux中如何做到这一点?
为了阐明我想要实现的目标,我们用Python编写了一个解决方案:
import sys, os
for root, dirs, files in os.walk(sys.argv[1]):
for index, file in enumerate(files):
if index > int(sys.argv[2]) - 1: os.remove(os.path.join(root, file))
我是Python的新手,我正在尝试找出计算特定子目录中.TIF文件数量的最有效的方法。
通过一些搜索,我发现了一个示例(我还没有测试过),它声称对一个目录中的所有文件进行了计数:
file_count = sum((len(f) for _, _, f in os.walk(myPath)))
这很好,但我只需要计算TIF文件。我的目录将包含其他文件类型,但我只想计算TIF。
目前我使用的代码如下:
tifCounter = 0
for root, dirs, files in os.walk(myPath):
for file in files:
if fil
我最近写了一个小代码来读取目录。我想做的是排除其中一些。
import os
exclude_prefixes = ['$RECYCLE.BIN']
src = raw_input("Enter source disk location: ")
src = os.path.dirname(src)
for dir,_,_ in os.walk(src, topdown=True):
dir[:] = [d for d in dir if d not in exclude_prefixes]
当我试图执行这段代码时,我得到了以下错误:
Tracebac
如标题所示,我想让python3.5搜索我的根目录('C:\')中的pdf文件,然后将这些文件移动到一个特定的文件夹中。这个任务可以很容易地分成2: 1。搜索我的根目录中的pdf扩展名的文件。2.将其移动到特定文件夹。
现在。我知道如何搜索特定的文件名,但不知道具有特定扩展名的复数文件。
import os
print('Welcome to the Walker Module.')
print('find(name, path) or find_all(name, path)')
def find(name, path):
for root
我试图从一个目录中移动很多文件,所有这些文件都是底层文件夹,但是当我运行我的代码时。脚本找不到第一个.pdf文件。我觉得很奇怪,因为文件确实在那里
import shutil
import os
#Change the working directory to where files are located
os.chdir("C:\\Users\\vhole\\iCloudDrive\\BA_Historie\\")
#Get current working directory
directory = os.getcwd()
print(f"Current work
我有以下删除名为"debug“的子目录的代码,如何确保从"debug”文件夹中删除除“*.bin”之外的所有内容? # look for any debug directories. we can remove them from the root
for directoryToCheck in directories_to_check:
for root,sub,files in os.walk(os.path.join(outputdir,directoryToCheck)):
logger.info('sub is %s'%sub
我正在尝试获取Python中某个目录的所有孙子目录。出于性能原因,我不想一直在循环中调用OS函数(它是一个网络文件系统)。这就是我目前所拥有的。有没有更简单的方法来做这件事?
dirTree = os.walk(root)
children = [os.path.join(root, x) for x in dirTree.next()[1]]
grandChildren = []
for root, dirs, files in dirTree:
if root in children:
for dir in dirs:
grandChildr