python 获取当前路径之下的所有文件夹
时间: 2023-12-05 11:04:55 浏览: 256
你可以使用 Python 的 `os` 模块来获取当前路径下的所有文件夹。具体的方法是使用 `os.listdir()` 函数来获取当前路径下的所有文件和文件夹,然后使用 `os.path.isdir()` 函数来判断每个文件或文件夹是否为文件夹,最后将所有文件夹保存在一个列表中即可。下面是一个示例代码:
```python
import os
path = '.' # 当前路径
dirs = [d for d in os.listdir(path) if os.path.isdir(os.path.join(path, d))]
print(dirs) # 打印所有文件夹名称
```
在这个示例中,`os.listdir(path)` 函数返回当前路径下的所有文件和文件夹的名称,`os.path.join(path, d)` 函数用于将文件夹名称与当前路径拼接成一个完整的路径,`os.path.isdir()` 函数用于判断该路径是否为文件夹。最终,使用列表推导式将所有文件夹名称保存在 `dirs` 列表中,然后打印出来。
相关问题
python 自动分类照片,把所有文件夹,子文件夹,里面有多个相同的文件名字,移动到相同名字的文件夹内
好的,你可以尝试使用以下代码实现自动分类照片的功能:
```python
import os
import shutil
def classify_photos(root_dir):
# 遍历指定目录下的所有文件和子文件夹
for subdir, _, files in os.walk(root_dir):
# 记录每个文件名出现的次数
file_count = {}
for file in files:
# 获取文件名和后缀
file_name, file_ext = os.path.splitext(file)
# 统计文件名出现的次数
if file_name not in file_count:
file_count[file_name] = 1
else:
file_count[file_name] += 1
# 将多个同名文件移动到同名文件夹
for file_name, count in file_count.items():
if count > 1:
target_dir = os.path.join(root_dir, file_name)
if not os.path.exists(target_dir):
os.mkdir(target_dir)
for file in files:
file_name, file_ext = os.path.splitext(file)
if file_name == file_name:
file_path = os.path.join(subdir, file)
shutil.move(file_path, os.path.join(target_dir, file))
if __name__ == '__main__':
classify_photos('/path/to/root/dir')
```
这段代码跟之前的代码不同之处在于,它首先统计每个文件名在当前目录下出现的次数,然后将出现多次的文件名对应的所有文件移动到同名文件夹中。具体来说,它会先遍历目录下的所有文件和子文件夹,并记录每个文件名出现的次数。然后,对于出现次数大于1的文件名,它会创建同名文件夹(如果不存在),并将该文件名对应的所有文件移动到同名文件夹中。这样就可以将所有多个相同名字的文件都归类到同一个文件夹中了。同样,你需要将`/path/to/root/dir`替换为实际的目录路径。
写一段python程序:路径G:\drought\data\data1下有文件夹“20232300”和表格“station.xlsx”,遍历文件夹“20232300”中所有txt文件的名称,若表格第一列数据中有与之相同的,则复制该txt文件到文件夹“station”.
以下是一段Python程序,用于完成您的要求:
```python
import os
import pandas as pd
# 定义路径
folder_path = r'G:\drought\data\data1\20232300'
xlsx_path = r'G:\drought\data\data1\station.xlsx'
target_folder = r'G:\drought\data\data1\station'
# 确保目标文件夹存在
if not os.path.exists(target_folder):
os.makedirs(target_folder)
# 读取表格中的第一列数据
df = pd.read_excel(xlsx_path)
first_column_data = df.iloc[:, 0].tolist()
# 遍历文件夹中的所有txt文件
for file_name in os.listdir(folder_path):
if file_name.endswith('.txt'):
# 检查文件名是否在表格的第一列数据中
if file_name in first_column_data:
# 构建完整的文件路径
file_path = os.path.join(folder_path, file_name)
# 复制文件到目标文件夹
os.system(f'copy {file_path} {target_folder}')
```
请确保您已经安装了`pandas`库,因为这段代码使用了pandas来读取Excel文件。如果还没有安装,可以通过`pip install pandas`来安装。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)