标签: glob

OmniAuth不适用于Rails3中的Route Globbing

我试图按照Railscast 241 Simple OmniAuth进行操作 ,除非我在下面结束时使用Route Globbing /config/routes.rb:

match '*uri' => "posts#index"
Run Code Online (Sandbox Code Playgroud)

如果我要求/auth/twitter使用globbing,那么OmniAuth什么都不做:

Started GET "/auth/twitter" for 127.0.0.1 at 2011-04-03 19:17:44 +0200
  Processing by PostsController#index as HTML
  Parameters: {"uri"=>"auth/twitter"}
Rendered posts/index.html.haml within layouts/application (9.0ms)
Completed 200 OK in 103ms (Views: 14.6ms | ActiveRecord: 0.7ms)
Run Code Online (Sandbox Code Playgroud)

没有通配路线,它可以正确验证.

有没有办法同时拥有路线通配和OmniAuth?

routes glob ruby-on-rails omniauth ruby-on-rails-3

7
推荐指数
1
解决办法
6293
查看次数

hgignore:需要忽略除一个.lib文件以外的所有文件

对于我的课程项目,我的团队正在使用hg一起工作,我从这个问题的检查答案中创建了忽略文件,并添加了一些内容.但是有一个问题.我有一个.lib文件,使代码运行,我希望它保存在存储库中.

由于.hgignore正在使用glob我也是,所以我怎么能允许文件comp345_dnd/RollPlay.lib(根文件夹包含comp345_dnd)在/ .lib被忽略?

mercurial glob hgignore

7
推荐指数
1
解决办法
1118
查看次数

为什么glob lstat匹配条目?

这个问题中查看行为,我很惊讶地看到perl lstat()的每个路径都与glob模式匹配:

$ mkdir dir
$ touch dir/{foo,bar,baz}.txt  
$ strace -e trace=lstat perl -E 'say $^V; <dir/b*>' 
v5.10.1
lstat("dir/baz.txt", {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
lstat("dir/bar.txt", {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
Run Code Online (Sandbox Code Playgroud)

我看到我的Linux系统上相同的行为glob(pattern)<pattern>,和更高版本的Perl.

我的期望是,globbing只是opendir/readdir,并且它不需要检查它正在搜索的实际路径名.

这是什么目的lstat?它会影响glob()的返回吗?

linux perl glob

7
推荐指数
1
解决办法
409
查看次数

fnmatch 和递归路径匹配`**`

是否有任何内置或直接的方法来递归匹配双星号的路径,例如像zsh那样?

例如,与

path = 'foo/bar/ham/spam/eggs.py'
Run Code Online (Sandbox Code Playgroud)

我可以使用fnmatch来测试它

fnmatch(path, 'foo/bar/ham/*/*.py'
Run Code Online (Sandbox Code Playgroud)

虽然,我希望能够做到:

fnmatch(path, 'foo/**/*.py')
Run Code Online (Sandbox Code Playgroud)

我知道 fnmatch将其模式映射到 regex,因此在单词的情况下,我可以使用其他**模式滚动我自己的 fnmatch ,但也许有更简单的方法

python glob fnmatch

7
推荐指数
2
解决办法
4470
查看次数

如何根据包含通配符的另一个列表筛选列表?

如何根据包含部分值和通配符的其他列表过滤列表?以下示例是我到目前为止的例子:

l1 = ['test1', 'test2', 'test3', 'test4', 'test5']
l2 = set(['*t1*', '*t4*'])

filtered = [x for x in l1 if x not in l2]
print filtered
Run Code Online (Sandbox Code Playgroud)

此示例导致:

['test1', 'test2', 'test3', 'test4', 'test5']
Run Code Online (Sandbox Code Playgroud)

但是,我希望根据l2以下内容限制结果:

['test2', 'test3', 'test5']
Run Code Online (Sandbox Code Playgroud)

python glob list

7
推荐指数
1
解决办法
1543
查看次数

文件路径通配符(glob)的BNF语法定义

我正在寻找一些用BFN规则描述的广泛扩展的方言(比如这一个https://github.com/vmeurisse/wildmatch + globstar**).

任何格式或语言.OMeta或PEG会很棒.

glob bnf peg ometa

7
推荐指数
1
解决办法
692
查看次数

如何安装“ glob”模块?

我正在运行ubuntu 14.04,并尝试启动ROS Simulator。我有这个错误:

ImportError: No module named 'glob'
Run Code Online (Sandbox Code Playgroud)

安装glob2不能解决问题。

python -m site 输出:

sys.path = [
    '/home/omar',
    '/opt/ros/indigo/lib/python2.7/dist-packages',
    '/home/omar/anaconda3/lib/python35.zip',
    '/home/omar/anaconda3/lib/python3.5',
    '/home/omar/anaconda3/lib/python3.5/plat-linux',
    '/home/omar/anaconda3/lib/python3.5/lib-dynload',
    '/home/omar/anaconda3/lib/python3.5/site-packages',
    '/home/omar/anaconda3/lib/python3.5/site-packages/Sphinx-1.4.6-py3.5.egg',
    '/home/omar/anaconda3/lib/python3.5/site-packages/numba-0.29.0-py3.5-linux-x86_64.egg',
    '/home/omar/anaconda3/lib/python3.5/site-packages/glob2-0.4.1-py3.5.egg',
    '/home/omar/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg',
]
USER_BASE: '/home/omar/.local' (exists)
USER_SITE: '/home/omar/.local/lib/python3.5/site-packages' (doesn't exist)
ENABLE_USER_SITE: True
Run Code Online (Sandbox Code Playgroud)

python glob ros

7
推荐指数
2
解决办法
3万
查看次数

无论深度如何,如何在 Go 中查找具有特定扩展名的所有文件?

我有一个看起来像这样的目录结构:

/root
  /folder_1
    file_name_1.md
  /folder_2
    file_name_2.md
  /folder_3
    file_name_3.md
  /folder_4
    /sub_folder_1
      file_name_4_1.md
    file_name_4.md
Run Code Online (Sandbox Code Playgroud)

是否有一个 glob 函数可以用来获取包含文件路径的数组.md

例如:

[
  "/root/folder_1/file_name_1.md",
  "/root/folder_2/file_name_2.md",
  "/root/folder_3/file_name_3.md",
  "/root/folder_4/sub_folder_1/file_name_4_1.md",
  "/root/folder_4/file_name_4.md"
]
Run Code Online (Sandbox Code Playgroud)

谢谢。

arrays file-io glob file go

7
推荐指数
2
解决办法
6296
查看次数

类型错误:“PosixPath”类型的参数不可迭代

我正在尝试递归遍历文件夹以将特定文件分配给变量以供以后解析,但是我收到以下错误:

TypeError: argument of type 'PosixPath' is not iterable
Run Code Online (Sandbox Code Playgroud)
Flask version 1.0.2 (not sure if its relevant)
Python version 3.7.3
Run Code Online (Sandbox Code Playgroud)

进口:

from pathlib import Path
from glob import glob
Run Code Online (Sandbox Code Playgroud)

代码:

def parse_info(bundle_path):
    file_list = []
    for filename in Path(bundle_path).glob('**/*.*'):
        file_list.append(filename)

    for elem in file_list:
        if 'uname' in elem:
            print('present')
Run Code Online (Sandbox Code Playgroud)

称呼:

parse_info(<some path>)
Run Code Online (Sandbox Code Playgroud)

'print(filename)'没有打印出所有的文件,在路径和所需的搜索字符串中存在于打印输出,所以我知道它的存在,但只是不知道如何捕捉该元素供以后使用。任何帮助,将不胜感激。

python glob

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

如何创建 python 脚本,以便在目录中的 csv 文件在过去 24 小时内未更新时发送电子邮件?

我是 python 的新手,并试图了解如何自动化东西。我有一个文件夹,其中每天更新 5 个 csv 文件,但有时其中一两个文件不会在特定日期更新。我必须手动检查此文件夹。相反,我想以这种方式自动执行此操作,如果 csv 文件在过去 24 小时内没有更新,它可以向自己发送一封电子邮件,提醒我这一点。

我的代码:

import datetime
import glob
import os
import smtplib
import string
 
now  = datetime.datetime.today() #Get current date

list_of_files = glob.glob('c:/Python/*.csv') # * means all if need specific format then *.csv
latest_file = max(list_of_files, key=os.path.getctime) #get latest file created in folder

newestFileCreationDate = datetime.datetime.utcfromtimestamp(os.path.getctime(latest_file)) # get creation datetime of last file

dif = (now - newestFileCreationDate) #calculating days between actual date and last creation date

logFile = "c:/Python/log.log" #defining a …
Run Code Online (Sandbox Code Playgroud)

python string operating-system glob smtplib

7
推荐指数
1
解决办法
544
查看次数