标签: glob

使用Glob()在Python中递归查找文件?

这就是我所拥有的:

glob(os.path.join('src','*.c'))
Run Code Online (Sandbox Code Playgroud)

但我想搜索src的子文件夹.像这样的东西会起作用:

glob(os.path.join('src','*.c'))
glob(os.path.join('src','*','*.c'))
glob(os.path.join('src','*','*','*.c'))
glob(os.path.join('src','*','*','*','*.c'))
Run Code Online (Sandbox Code Playgroud)

但这显然是有限和笨重的.

python filesystems glob path fnmatch

676
推荐指数
15
解决办法
59万
查看次数

如何使用Bash迭代目录中的文件?

我需要编写一个脚本,用不同的参数启动我的程序,但我是Bash的新手.我这样开始我的程序:

./MyProgram.exe Data/data1.txt [Logs/data1_Log.txt].

这是我想要做的伪代码:

for each filename in /Data do
  for int i = 0, i = 3, i++
    ./MyProgram.exe Data/filename.txt Logs/filename_Log{i}.txt
  end for
end for
Run Code Online (Sandbox Code Playgroud)

所以我真的很困惑如何从第一个创建第二个参数,所以它看起来像dataABCD_Log1.txt并启动我的程序.非常感谢帮助.

PS我知道那里有类似的问题,但我没有发现创建我的日志文件名称.

bash filenames for-loop glob

515
推荐指数
5
解决办法
69万
查看次数

在unix/linux shell中进行模式匹配时,如何使用反向或负向通配符?

假设我想复制目录的内容,不包括名称中包含"音乐"一词的文件和文件夹.

cp [exclude-matches] *Music* /target_directory
Run Code Online (Sandbox Code Playgroud)

什么应该代替[exclude-matches]来实现这个目标?

bash shell glob pattern-matching

317
推荐指数
8
解决办法
17万
查看次数

使用PHP删除文件夹中的所有文件?

例如,我有一个名为`Temp'的文件夹,我想使用PHP删除或刷新此文件夹中的所有文件.我可以这样做吗?

php directory glob file

289
推荐指数
10
解决办法
31万
查看次数

获取目录中已过滤的文件列表

我试图使用Python获取目录中的文件列表,但我不想要所有文件的列表.

我本质上想要的是能够做类似下面的事情,但使用Python而不是执行ls.

ls 145592*.jpg
Run Code Online (Sandbox Code Playgroud)

如果没有内置的方法,我目前正在考虑编写一个for循环来迭代结果os.listdir()并将所有匹配的文件附加到一个新列表.

但是,也有很多的文件在该目录中,所以我希望有一个更有效的方法(或内置的方法).

python filesystems glob wildcard directory-listing

254
推荐指数
9
解决办法
30万
查看次数

测试一个glob是否在bash中有任何匹配

如果我想检查是否存在单个文件,我可以使用test -e filename或测试它[ -e filename ].

假设我有一个glob,我想知道是否存在名称与glob匹配的文件.glob可以匹配0个文件(在这种情况下我不需要做任何事情),或者它可以匹配1个或多个文件(在这种情况下我需要做一些事情).如何测试glob是否有匹配?(我不关心有多少匹配,如果我能用一个if语句而没有循环(仅仅因为我发现最可读)这样做是最好的.

(test -e glob*如果glob匹配多个文件,则失败.)

bash glob

213
推荐指数
7
解决办法
4万
查看次数

如何使用Python计算目录中的文件数

我需要使用Python计算目录中的文件数.我想最简单的方法是len(glob.glob('*')),但这也将目录计为文件.

有没有办法只计算目录中的文件?

python glob count fnmatch

196
推荐指数
15
解决办法
29万
查看次数

按模式递归添加文件

如何通过位于不同目录中的模式(或glob)递归添加文件?

例如,我想用一个命令添加A/B/C/foo.javaD/E/F/bar.java(以及其他几个java文件):

git add '*.java'
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不能按预期工作.

git glob filepattern

160
推荐指数
9
解决办法
6万
查看次数

移动除1之外的所有文件

如何移动除一个文件以外的所有文件?我正在寻找类似的东西:

'mv ~/Linux/Old/!Tux.png ~/Linux/New/'
Run Code Online (Sandbox Code Playgroud)

在哪里我将旧东西移到新的东西 - 文件夹除外Tux.png.!-sign代表一种否定.这个工作有一些工具吗?

linux bash glob

136
推荐指数
11
解决办法
13万
查看次数

使用.gitignore忽略除特定目录之外的所有内容

我的问题是我的git仓库里有一堆WordPress网站,其中我想有选择地只提交我themes文件夹的内容,而忽略了WordPress中的其余冗余文件.

我之前使用.gitignore文件来忽略文件类型,但它可以反过来使用 - 即忽略一切但是某个文件夹路径?

root(git repo)
- /wordpress
- - /(WordPress Site 1)/ wp-content/themes
- - /(WordPress Site 2)/ wp-content/themes
- - /(WordPress Site 3)/ wp-content/themes

谢谢-

更新:

根据答案我做了以下,但它不起作用.有任何想法吗?

# Ignore everything:
*
# Except for wordpress themes:
!*/wp-content/themes/*
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下变化:

!*/wp-content/themes*
!*wp-content/themes/*
!wp-content/themes/*
!/wordpress/*/wp-content/themes*
!wordpress/*/wp-content/themes*
Run Code Online (Sandbox Code Playgroud)

这些都没有读取我的themes文件夹.

git glob gitignore

121
推荐指数
11
解决办法
7万
查看次数