for filename in os.listdir(old_folder_path): with open(os.path.join(old_folder_path, filename), 'r') as f:读出来的txt文件可以通过y的坐标来进行位置重新排序
时间: 2023-11-27 20:52:49 浏览: 81
读取txt文件 并排序 附性能测试
5星 · 资源好评率100%
可以根据读出来的文本内容中的 y 坐标值来进行位置排序。具体方法如下:
1. 读取所有文本文件并解析出每个文本文件中的 y 坐标值和文本内容。
2. 根据 y 坐标值对文本内容进行排序。
3. 将排序后的文本内容写入新的文本文件中。
下面是一个示例代码,可以根据需要进行修改:
```python
import os
def sort_files_by_y_coordinate(old_folder_path, new_folder_path):
# 读取旧文件夹中的所有文本文件
filenames = [f for f in os.listdir(old_folder_path) if f.endswith('.txt')]
# 解析出每个文本文件中的 y 坐标值和文本内容
contents = []
for filename in filenames:
with open(os.path.join(old_folder_path, filename), 'r') as f:
text = f.read()
y = int(text.split(',')[1])
contents.append((y, text))
# 根据 y 坐标值对文本内容进行排序
sorted_contents = sorted(contents, key=lambda x: x[0])
# 将排序后的文本内容写入新的文本文件中
if not os.path.exists(new_folder_path):
os.makedirs(new_folder_path)
for i, (y, text) in enumerate(sorted_contents):
filename = os.path.join(new_folder_path, f'{i}.txt')
with open(filename, 'w') as f:
f.write(text)
```
该代码会将旧文件夹中的所有文本文件按照 y 坐标值重新排序,并将排序后的文本内容保存在新的文件夹中。新文件夹中的文件名按照排序后的顺序进行命名,例如第一个文件的文件名为 `0.txt`,第二个文件的文件名为 `1.txt`,以此类推。
阅读全文