我有一个目录(client_dir
),其中的文件夹名为" XXX -长客户端名称";
我想保存文件夹的全名("XXX -客户端长名")作为一个变量client_name
。我可以搜索"XXX -长客户名"。通过匹配前3个字符(XXX),我在其他地方得到这3个字符。
我试着使用重模块,但我不知道如何得到实际的完整字符串。它只返回"XXX"
for closeout in os.listdir(closeout_dir):
project_id = closeout[:8]
client = project_id[0:3]
for x in os.listdir(client_dir):
client_name = re.search(client,x)
print(client_name)
print(type(client_name))
输出:
<re.Match object; span=(0, 3), match='XXX'>
<class 're.Match'>
XXX
我遇到的另一个问题是,当我添加另一个文件夹到client_dir
名为"YYY-另一个客户端名称"它找不到我的"XXX"-长客户名。文件夹了。输出为:
None
<class 'NoneType'>
for closeout in os.listdir(closeout_dir):
project_id = closeout[:8]
client = project_id[0:3]
for x in os.listdir(client_dir):
client_name = re.search(client,x)
print(x) # Actual full string
print(client_name)
print(type(client_name))
- 查看我的代码,x是实际的完整字符串,不需要在re.search中返回它。
- 您需要缩进print语句以在for循环中运行它。如果你不缩进,你将只打印for循环的最后一个值。