python如何读取当前文件夹下txt文本
时间: 2023-06-02 13:04:38 浏览: 175
可以使用以下代码读取当前文件夹下的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文件
### 回答1:
你可以使用 `os` 模块来读取文件夹中的文件名,并使用 `codecs` 模块来将文件名写入 txt 文件。
代码示例如下:
```
import os
import codecs
# 读取文件夹中的文件名
folder = '/path/to/folder'
filenames = os.listdir(folder)
# 将文件名写入 txt 文件
txt_file = '/path/to/file.txt'
with codecs.open(txt_file, 'w', 'utf-8') as f:
for filename in filenames:
f.write(filename + '\n')
```
在这个示例中,文件夹的路径存储在 `folder` 变量中,txt 文件的路径存储在 `txt_file` 变量中。你需要将这些变量替换为你自己的路径。
### 回答2:
使用Python可以轻松地读取文件夹中的所有文件名,并将其存入一个文本文件中。以下是一个实现此功能的示例代码:
```python
import os
def get_all_filenames(folder_path):
filenames = []
for root, dirs, files in os.walk(folder_path):
for file in files:
filenames.append(file)
return filenames
def save_filenames_to_txt(filenames, output_path):
with open(output_path, 'w') as file:
for filename in filenames:
file.write(filename + "\n")
if __name__ == "__main__":
folder_path = "/path/to/folder" # 文件夹的路径
output_path = "/path/to/output.txt" # 输出文件的路径
filenames = get_all_filenames(folder_path)
save_filenames_to_txt(filenames, output_path)
```
在上面的代码中,`get_all_filenames`函数用于获取文件夹中的所有文件名,使用了`os.walk`函数遍历文件夹下的所有文件。`save_filenames_to_txt`函数则将文件名保存到指定的txt文件中,使用了`open`函数以及文件对象的`write`方法。
在主程序中,你需要将`folder_path`和`output_path`替换为实际的文件夹路径和文本文件路径。然后运行该程序,它将读取文件夹中所有文件的文件名,并将它们存储在指定的文本文件中。
### 回答3:
可以使用Python的os模块来实现读取文件夹中所有文件名字的功能,并将其存入txt文件。
首先,导入os模块:
import os
接下来,定义一个函数,该函数接收文件夹路径作为参数,并将文件夹中所有文件名字存入txt文件:
def save_file_names(folder_path):
# 获取文件夹中所有文件的名字
file_names = os.listdir(folder_path)
# 打开txt文件,使用'w'模式以覆盖方式写入数据
with open('file_names.txt', 'w') as file:
# 遍历所有文件名字,并写入txt文件中
for name in file_names:
file.write(name + '\n')
最后,调用该函数并传入文件夹路径进行测试:
folder_path = '/path/to/folder' # 替换为自己的文件夹路径
save_file_names(folder_path)
执行完成后,会在当前目录生成一个名为file_names.txt的txt文件,该文件中包含了文件夹中所有文件的名字,每个名字占一行。
注意:需要将'/path/to/folder'替换为实际的文件夹路径。
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模块来对新的文本文件进行重命名。