python如何读取当前文件夹下txt文本
时间: 2023-06-02 10:04:38 浏览: 271
可以使用以下代码读取当前文件夹下的txt文本:
```
import os
current_dir = os.getcwd() # 获取当前文件夹路径
file_list = os.listdir(current_dir) # 获取当前文件夹下的所有文件
txt_files = [f for f in file_list if f.endswith('.txt')] # 获取所有以.txt结尾的文件名
for txt_file in txt_files:
with open(os.path.join(current_dir, txt_file), 'r') as f:
content = f.read() # 读取文件内容
print(content)
```
这段代码会列出当前文件夹下所有以'.txt'结尾的文件名称,并读取每个文件的内容。
相关问题
利用python编写一个程序读取当前文件夹中的txt文件数据,在当前文件夹中另建一个txt文件,把输入存入
在Python中,你可以使用内置的`os`和`open`模块来完成这个任务。以下是一个简单的步骤来实现:
首先,你需要导入必要的模块:
```python
import os
```
然后,创建一个函数,用于读取文件夹中的所有.txt文件,以及将用户输入写入新文件:
```python
def read_and_write_files(input_data):
# 获取当前目录
current_dir = os.getcwd()
# 遍历文件夹中的txt文件
for filename in os.listdir(current_dir):
if filename.endswith('.txt'): # 检查是否为txt文件
with open(os.path.join(current_dir, filename), 'r') as file_reader:
content = file_reader.read() # 读取文件内容
print(f"正在处理文件: {filename}")
# 将输入数据追加到已读取的文件内容末尾
new_content = content + "\n" + input_data
# 在同目录下新建或追加内容到已有文件
with open(os.path.join(current_dir, "output.txt"), 'a', newline='') as file_writer:
file_writer.write(new_content)
# 用户输入
input_data = input("请输入要保存的内容:")
read_and_write_files(input_data)
```
在这个例子中,我们假设用户输入的数据是要添加到每个txt文件末尾的新行。如果需要覆盖原有的文件内容,只需将`'a'`模式改为`'w'`即可。
如果你想要在新的txt文件中创建一个新的文本文件,而不是在现有文件中追加内容,可以使用`open`函数时指定不同的文件名,如`"new_file.txt"`。
python怎么根据当前文件夹下含有多个关键词的txt文本,直接遍历当前文件夹下的全部文本文件和excel文件,然后把匹配到的所在行内容输出到新的文本里面,新匹配出来的文本根据原文件名称加上1重命名
可以使用Python中的os和re模块来实现这个功能。具体步骤如下:
1. 使用os模块遍历当前文件夹下的所有文件,判断其是否为文本文件或excel文件,如果是则打开文件。
2. 对于文本文件,使用Python中的re模块来查找是否包含关键词,找到则将该行内容写入新的文本文件中。
3. 对于excel文件,使用Python中的pandas模块读取excel文件,并使用re模块查找是否包含关键词,找到则将该行内容写入新的文本文件中。
4. 最后将新的文本文件根据原文件名称加上1重命名。
下面是代码示例:
```python
import os
import re
import pandas as pd
# 关键词列表
keywords = ['keyword1', 'keyword2', 'keyword3']
# 遍历当前文件夹下的所有文件
for filename in os.listdir('.'):
# 判断是否为文本文件或excel文件
if filename.endswith('.txt'):
with open(filename, 'r', encoding='utf-8') as f:
# 遍历文本文件的每一行
for line in f:
# 查找是否包含关键词
if any(keyword in line for keyword in keywords):
# 将匹配到的行内容写入新的文本文件中
with open(f'{filename}_match.txt', 'a', encoding='utf-8') as new_file:
new_file.write(line)
elif filename.endswith('.xlsx'):
# 读取excel文件
df = pd.read_excel(filename)
# 遍历excel文件的每一行
for i, row in df.iterrows():
# 将一行转换为字符串
row_str = ' '.join([str(cell) for cell in row])
# 查找是否包含关键词
if any(keyword in row_str for keyword in keywords):
# 将匹配到的行内容写入新的文本文件中
with open(f'{filename}_match.txt', 'a', encoding='utf-8') as new_file:
new_file.write(row_str + '\n')
else:
continue
# 对新的文本文件重命名
os.rename(f'{filename}_match.txt', f'{filename}_match1.txt')
```
在这个示例中,我们使用了Python中的os模块来遍历当前文件夹下的所有文件,并使用了re模块来查找是否包含关键词。如果匹配到了关键词,就将该行内容写入新的文本文件中。对于excel文件,我们使用了pandas模块来读取文件,并将一行转换为字符串来进行查找。最后,我们使用os模块来对新的文本文件进行重命名。
阅读全文