小编Win*_*ags的帖子

用 Python 抓取文件名的一部分

新手来了

我刚刚使用 Python/编码工作了几天,但我想创建一个脚本来获取与特定模式对应的文件名的一部分,并将其输出到文本文件。

所以就我而言,假设我有四个这样的 .pdf:

aaa_ID_8423.pdf
bbbb_ID_8852.pdf
ccccc_ID_7413.pdf
dddddd_ID_4421.pdf

(Note that they are of variable length.)
Run Code Online (Sandbox Code Playgroud)

我希望脚本遍历这些文件名,在“ID_”之后和文件扩展名之前获取字符串。

您能否指出可以帮助我的 Python 模块和可能的指南的方向?

python filenames

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

Python两个字符串条件:如果x ="A"和"B"在y中则执行:

有没有办法让Python in在查找字符串内容时使用至少一个语句的两个条件?

就像是:

if (string1 == "Double" and "2x" in string2):
    leverage = "+200"
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
127
查看次数

re.search()TypeError:无法连接'str'和'NoneType'对象

如果我这样做,下面的代码按预期工作re.search("(\d+)x".

但是,如果我添加替代搜索,re.search("(\d+)x|x(\d+)"我会得到:

TypeError: cannot concatenate 'str' and 'NoneType' objects
Run Code Online (Sandbox Code Playgroud)

码:

fundleverage = None
regex_fundleverage = None
regex_fundleverage = re.search(r"(\d+)x|x(\d+)", instrument_name, flags=re.IGNORECASE)
if funddirection == "Long" and not regex_fundleverage == None:
    fundleverage = "+" + regex_fundleverage.group(1) + "00"
if funddirection == "Short" and not regex_fundleverage == None:
    fundleverage = "-" + regex_fundleverage.group(1) + "00"
print "Fundleverage: %s" % fundleverage
Run Code Online (Sandbox Code Playgroud)

错误当然是因为我会再做连接海峡"+""00"None.

我的问题是为什么group(1)在只有一个查找时选择工作re.search(),但如果有两个替代查找则不起作用.

它搜索的字符串不包含这两种选择"(\d+)x""x(\d+)"中,只有一个是可能的.

示例str: …

python regex

0
推荐指数
1
解决办法
421
查看次数

TypeError:无法连接“ str”和“ _sre.SRE_Match”对象

我正在使用正则表达式检索字符串,并且尝试将其与其他字符串连接起来。

错误:

TypeError: cannot concatenate 'str' and '_sre.SRE_Match' objects
Run Code Online (Sandbox Code Playgroud)

例:

original_string = "ABC 4x DEF"
regex = re.search(r"(\d)X|x", original_string)
new_string = "+" + regex + "00"
print "New string: %s" % new_string
Run Code Online (Sandbox Code Playgroud)

new_string"+400"如果一切正常,应该是。

python regex concatenation

-2
推荐指数
1
解决办法
2521
查看次数

标签 统计

python ×4

regex ×2

concatenation ×1

filenames ×1