os.path读取txt文件
时间: 2023-12-07 14:02:38 浏览: 78
你可以使用 `os.path` 模块来读取文本文件。下面是一个示例代码:
```python
import os
# 获取文件的绝对路径
file_path = os.path.abspath("file.txt")
# 检查文件是否存在
if os.path.exists(file_path):
# 打开文件并读取内容
with open(file_path, "r") as file:
content = file.read()
print(content)
else:
print("文件不存在")
```
在上面的代码中,首先使用 `os.path.abspath()` 函数获取文件的绝对路径,然后使用 `os.path.exists()` 函数检查文件是否存在。如果文件存在,则使用 `open()` 函数打开文件,并使用 `read()` 方法读取文件内容。最后,将内容打印出来。
请将代码中的 `"file.txt"` 替换为你要读取的文本文件的路径。注意,`os.path.abspath()` 函数会返回文件的绝对路径,确保指定正确的文件路径。
相关问题
os.path 读取文件名
`os.path` 是 Python 标准库中的模块,专门用于处理文件和目录的相关操作。当涉及到读取文件名时,`os.path` 提供了几个函数来帮助我们解析、检查和操作文件路径。
- `os.path.basename(path)`:这个函数返回指定路径最后的部分,即文件名(不包括路径)。
- `os.path.dirname(path)`:这个函数则返回指定路径中的目录部分,通常不包含最后一个分隔符。
- `os.path.split(path)`:此函数将路径分解为两部分,第一部分是目录路径(到最后一级目录为止),第二部分是文件名,如果路径本身就是文件,则文件名就是整个路径。
- `os.path.splitext(path)`:如上所述,用于分离文件名和扩展名,返回一个包含两个元素的元组,第一个元素是文件名(不含扩展),第二个元素是扩展名(如果有)。
举个例子:
```python
import os
file_path = "/Users/user/documents/example.txt"
base_name = os.path.basename(file_path) # "example.txt"
dir_path = os.path.dirname(file_path) # "/Users/user/documents/"
```
通过这些函数,你可以方便地获取、处理和操作文件或目录的名称部分。
import os folder_list = ['/path/to/folder1', '/path/to/folder2', '/path/to/folder3'] for folder_path in folder_list: for sub_folder in os.listdir(folder_path): sub_folder_path = os.path.join(folder_path, sub_folder) if os.path.isdir(sub_folder_path): for file_name in os.listdir(sub_folder_path): file_path = os.path.join(sub_folder_path, file_name) if os.path.isfile(file_path): print('{}\t{}'.format(os.path.basename(os.path.dirname(folder_path)), file_name))将这个代码修改,只读取txt格式的文件
好的,以下是修改后的 Python 代码:
```python
import os
folder_list = ['/path/to/folder1', '/path/to/folder2', '/path/to/folder3']
for folder_path in folder_list:
for sub_folder in os.listdir(folder_path):
sub_folder_path = os.path.join(folder_path, sub_folder)
if os.path.isdir(sub_folder_path):
for file_name in os.listdir(sub_folder_path):
file_path = os.path.join(sub_folder_path, file_name)
if os.path.isfile(file_path) and file_name.endswith('.txt'):
print('{}\t{}'.format(os.path.basename(os.path.dirname(folder_path)), file_name))
```
你需要将代码中的 `/path/to/folder1`、`/path/to/folder2` 和 `/path/to/folder3` 替换成你想要遍历的文件夹路径列表,然后运行即可。代码会遍历所有子文件夹,只读取其中的 txt 格式文件,并输出一列来显示文件属于哪个一级文件夹,只显示出一级文件夹。
阅读全文