python检查txt文本文件是否为空
时间: 2024-10-13 07:08:47 浏览: 54
在Python中,你可以通过读取文件的内容然后判断其长度来检查txt文本文件是否为空。如果文件内容长度为0,那么可以认为该文件是空的。以下是一个简单的例子:
```python
def is_file_empty(file_path):
try:
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
if not content or len(content) == 0:
return True # 文件为空
except FileNotFoundError:
print(f"文件 {file_path} 不存在.")
return False
except PermissionError:
print("没有权限访问该文件.")
return False
return False # 文件非空
# 使用函数
file_path = "example.txt"
if is_file_empty(file_path):
print("文件是空的。")
else:
print("文件不是空的。")
相关问题
python筛选出一个文件夹里空的txt文本文件
在Python中,你可以使用`os`和`glob`模块来遍历文件夹并检查哪些`.txt`文件是空的。以下是一个示例代码:
```python
import os
import glob
# 定义要搜索的文件夹路径
folder_path = '/path/to/your/folder'
# 使用glob找出所有的.txt文件
txt_files = glob.glob(os.path.join(folder_path, '*.txt'))
# 空文件判断函数
def is_empty(file_path):
try:
with open(file_path, 'r') as f:
return len(f.read()) == 0
except UnicodeDecodeError:
# 如果文件内容无法解读为文本,通常认为它是空的
return True
# 筛选出空的txt文件
empty_txt_files = [file for file in txt_files if is_empty(file)]
print(f"空的.txt文件有:{empty_txt_files}")
python筛选剪切出一个文件夹里空的txt文本文件
在Python中,你可以使用os模块来操作文件和目录,结合shutil库来删除空文件。以下是一个简单的步骤来筛选并剪切(实际这里是删除)文件夹中所有空的.txt文本文件:
```python
import os
import shutil
def filter_empty_txt_files(directory):
# 遍历指定目录及其所有子目录
for root, dirs, files in os.walk(directory):
# 对于每个.txt文件
for file in files:
if file.endswith('.txt'):
# 检查文件大小是否为0,如果是,则它为空
if os.path.getsize(os.path.join(root, file)) == 0:
# 删除(或打印出如果只想检查而不想真的删除)
print(f"Found empty file: {os.path.join(root, file)}")
# 如果你想删除空文件
# shutil.rmtree(os.path.join(root, file), ignore_errors=True)
# 调用函数,并传入你想要检查的文件夹路径
filter_empty_txt_files('/path/to/your/directory')
```
请注意,`shutil.rmtree`会递归地删除整个文件夹,所以在删除前最好确认文件夹中没有其他重要数据。
阅读全文