如何查看txt文件是否只包含空白?


with open('save.txt', 'r') as fname:
data = fname.readlines()
print(data)
x = str(data)
if x.isspace():
print("only whitespaces")
else:
print("not only whitespaces")

我试过这个,但它似乎不工作。我想检测一个txt文件是否只包含空白,如果可能的话,还包含/n

方法readlines()返回每一行的列表。你想要的是read()方法,它为整个文件返回一个字符串。代码看起来像这样:

with open('save.txt', 'r') as fname:
data = fname.read()
print(data)
if data.isspace():
print("only whitespaces")
else:
print("not only whitespaces")

同时,isspace()已经将nt视为空白。

readlines()返回字符串列表。您需要检查data的元素,而不是简单地将列表转换为str。

with open('save.txt', 'r') as fname:
data = fname.readlines()
only_whitespace = all(line.isspace() for line in data)
if only_whitespace:
print("only whitespaces")
else:
print("not only whitespaces")

如果您想检测所有空白字符(空格,换行符,制表符,垂直空格,回车符…),那么isspace可能适合您,只需将文件作为单个字符串读取:

with open('save.txt', 'r') as fname:
data = fname.read()
print(data)
if data.isspace():
print("only whitespaces")
else:
print("not only whitespaces")

如果你真的只想要空格和换行符,你可以使用set操作:

with open('save.txt', 'r') as fname:
data = set(fname.read())
print(data)
if data.issubset({' ', 'n'}):
print("only whitespaces")
else:
print("not only whitespaces")

相关内容

  • 没有找到相关文章

最新更新