python,获取指定路径下所有文件夹的名称,不递归,且只输出文件夹名称以数字结尾的文件夹名称
时间: 2023-08-16 22:08:11 浏览: 97
可以在上面的代码基础上进行修改,只输出文件夹名称以数字结尾的文件夹名称,具体代码如下:
```python
import os
import re
dir_path = "/path/to/directory" # 指定路径
for dir_name in os.listdir(dir_path):
if os.path.isdir(os.path.join(dir_path, dir_name)) and re.match(r'^\d+$', dir_name):
print(dir_name)
```
解释一下上面的代码:
- `os.listdir(dir_path)`:获取指定路径下的所有文件和文件夹的名称。
- `os.path.isdir(os.path.join(dir_path, dir_name))`:判断某个路径是否为文件夹。使用`os.path.join`可以将路径和文件夹名拼接起来,形成完整的路径。
- `re.match(r'^\d+$', dir_name)`:使用正则表达式匹配文件夹名称是否以数字结尾。其中`^`表示匹配字符串开头,`\d+`表示匹配一或多个数字,`$`表示匹配字符串结尾。
- 如果某个名称是文件夹且以数字结尾,则打印出来。
相关问题
python,获取指定路径下所有文件夹的名称,不递归,且只输出文件夹名称以点+数字结尾的文件夹名称
可以在上面的代码基础上进行修改,只输出文件夹名称以点+数字结尾的文件夹名称,具体代码如下:
```python
import os
import re
dir_path = "/path/to/directory" # 指定路径
for dir_name in os.listdir(dir_path):
if os.path.isdir(os.path.join(dir_path, dir_name)) and re.match(r'^\.\d+$', dir_name):
print(dir_name)
```
解释一下上面的代码:
- `os.listdir(dir_path)`:获取指定路径下的所有文件和文件夹的名称。
- `os.path.isdir(os.path.join(dir_path, dir_name))`:判断某个路径是否为文件夹。使用`os.path.join`可以将路径和文件夹名拼接起来,形成完整的路径。
- `re.match(r'^\.\d+$', dir_name)`:使用正则表达式匹配文件夹名称是否以点+数字结尾。其中`^`表示匹配字符串开头,`\.`表示匹配点,`\d+`表示匹配一或多个数字,`$`表示匹配字符串结尾。
- 如果某个名称是文件夹且以点+数字结尾,则打印出来。
python2,获取指定路径下所有文件夹的名称,不递归,且只输出文件夹名称以数字结尾的文件夹名称
同样可以使用 Python2 自带的 `os` 模块来实现,具体代码如下:
```python
import os
import re
dir_path = "/path/to/directory" # 指定路径
for dir_name in os.listdir(dir_path):
if os.path.isdir(os.path.join(dir_path, dir_name)) and re.match(r'^\d+$', dir_name):
print(dir_name)
```
需要注意的是,Python2 中的正则表达式需要使用 `re.compile` 函数来进行预编译,然后再使用 `match` 函数进行匹配,具体代码如下:
```python
import os
import re
dir_path = "/path/to/directory" # 指定路径
pattern = re.compile(r'^\d+$') # 编译正则表达式
for dir_name in os.listdir(dir_path):
if os.path.isdir(os.path.join(dir_path, dir_name)) and pattern.match(dir_name):
print(dir_name)
```
上述代码中,首先使用 `re.compile` 函数编译出正则表达式,然后使用 `pattern.match` 函数进行匹配。
阅读全文