用python实现提取指定文件夹中的每个文件的第16行前10个字符作为关键字,每个关键字存到keys文件夹下,关键字文档用原关键字文档的索引命名
时间: 2024-04-29 17:23:09 浏览: 119
以下是实现代码:
```python
import os
# 指定文件夹路径
folder_path = "/path/to/folder"
# 创建keys文件夹
if not os.path.exists("keys"):
os.mkdir("keys")
# 遍历文件夹中的每个文件
for filename in os.listdir(folder_path):
# 只处理txt文件
if filename.endswith(".txt"):
# 读取文件内容
with open(os.path.join(folder_path, filename), "r") as f:
lines = f.readlines()
# 获取关键字
keyword = lines[15][:10].strip()
# 写入关键字文件
with open(os.path.join("keys", str(lines.index(keyword))+".txt"), "w") as f:
f.write(keyword)
```
解释:
1. `os.listdir(folder_path)` 遍历指定文件夹中的所有文件和文件夹。
2. `if filename.endswith(".txt")` 只处理文件名以 `.txt` 结尾的文件。
3. `with open(os.path.join(folder_path, filename), "r") as f:` 打开文件,使用 `os.path.join` 合并路径,`"r"` 表示以只读方式打开文件。
4. `lines = f.readlines()` 读取文件内容,返回一个字符串列表,每个元素为文件的一行。
5. `keyword = lines[15][:10].strip()` 获取关键字,即第 16 行前 10 个字符,使用 `strip` 函数去除字符串两端的空白字符。
6. `with open(os.path.join("keys", str(lines.index(keyword))+".txt"), "w") as f:` 打开关键字文件,使用 `os.path.join` 合并路径,`"w"` 表示以写入方式打开文件。文件名使用原始文件中的关键字行在文件中的索引,加上 `.txt` 后缀。注意,`index` 函数返回第一个匹配项的索引,如果关键字在文件中出现多次,可能会导致文件名重复。
阅读全文