写一段代码遍历/public/work/Personal/wuxu/qiantao_17下以.report结尾的文件,将文件第一行作为输出的前两列,然后将文件中的第5到41行内容变成行转列并打印出来
时间: 2023-12-05 10:04:13 浏览: 33
好的,以下是 Python3 的代码实现:
```python
import os
dir_path = '/public/work/Personal/wuxu/qiantao_17'
for root, dirs, files in os.walk(dir_path):
for file in files:
if file.endswith('.report'):
file_path = os.path.join(root, file)
with open(file_path, 'r') as f:
# 读取前两行并输出前两列
first_two_lines = f.readlines()[:2]
first_col, second_col = [line.split()[0] for line in first_two_lines]
print(first_col, second_col)
# 读取第5到41行内容并行转列打印
lines_to_print = f.readlines()[4:40]
transposed_lines = list(map(list, zip(*[line.split() for line in lines_to_print])))
for line in transposed_lines:
print(' '.join(line))
print('\n')
```
注意事项:
- 代码中的 `dir_path` 变量需要根据具体情况修改为实际的文件夹路径。
- 如果文件的第一行和第二行不是用空格分隔的,需要修改代码中的 `line.split()`,将分隔符改为实际使用的分隔符。
- 如果需要输出更多列或更多行,请修改代码中的切片操作和循环次数。