用python写一个查找当前一层文件夹内文件的程序
时间: 2023-11-24 07:06:42 浏览: 73
好的,这个问题可以回答。以下是一个简单的 Python 代码示例,可以查找当前一层文件夹内的所有文件:
```
import os
dir_path = os.getcwd()
files = os.listdir(dir_path)
for file in files:
print(file)
```
这个程序会输出当前文件夹内所有文件的名称。如果您需要进一步处理这些文件,可以在程序中添加相应的代码。
相关问题
一个路径下有多个文件夹可能是多层文件夹,其中有文件夹属于git代码库,用python3遍历这个路径下git代码库的文件夹,查找里面c或者c++代码文件中带有PRQA的代码行,生成excl表格, 表格内容 代码仓库git路径,文件路径(基于git库文件夹的相对路径),行号,这行内容
在Python中,你可以使用`os`, `glob`, `re`, 和 `subprocess` 这些模块来完成这个任务。这里是一个基本的步骤描述:
1. **导入所需的模块**:
```python
import os
import glob
import re
import subprocess
from openpyxl import Workbook
```
2. **获取git目录下的所有文件夹**:
```python
base_dir = '/path/to/your/directory'
git_folders = [d for d in os.listdir(base_dir) if '.git' in d]
```
3. **遍历git文件夹**:
对于每个git文件夹,找到它包含的`.cpp` 或 `.cc` 文件:
```python
for git_folder in git_folders:
repo_path = os.path.join(base_dir, git_folder)
code_files = glob.glob(os.path.join(repo_path, '**/*.cpp') + ' ' + os.path.join(repo_path, '**/*.cc'), recursive=True)
```
4. **检查文件内容并提取相关信息**:
```python
def find_prqa_lines(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
lines_with_prqa = [(line_number, line) for line_number, line in enumerate(content.splitlines(), start=1) if 'PRQA' in line]
return lines_with_prqa
results = []
for file in code_files:
results.extend(find_prqa_lines(file))
```
5. **创建Excel表格**:
```python
workbook = Workbook()
sheet = workbook.active
sheet['A1'] = 'Git路径'
sheet['B1'] = '文件路径'
sheet['C1'] = '行号'
sheet['D1'] = '代码内容'
row_num = 2
for item in results:
sheet.cell(row=row_num, column=1).value = repo_path
sheet.cell(row=row_num, column=2).value = os.path.relpath(file, repo_path)
sheet.cell(row=row_num, column=3).value = item[0]
sheet.cell(row=row_num, column=4).value = item[1]
row_num += 1
workbook.save('prqa_results.xlsx')
```
python获取双层文件夹下的所有txt文件
可以使用Python中的os库和glob库来获取双层文件夹下的所有txt文件。具体实现如下:
```python
import os
import glob
txt_files = []
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
if name.endswith(".txt"):
txt_files.append(os.path.join(root, name))
print(txt_files)
```
这段代码会遍历当前文件夹下的所有子文件夹,查找所有以".txt"结尾的文件,并将它们的路径存放在一个列表中。你可以根据实际需求修改代码中的文件夹路径和文件类型。
阅读全文