python - 如何使用python从文本文件中获取特定值
问题描述
我正在从给定的文本文件中读取地址、网络掩码、网关和 dnsname-server 值,并将它们分别存储到 var1、var2、var3 和 var4 中。在我的代码中,我得到的是变量而不是它们的值。如何从给定的文本文件下面提取地址值。我是 python 中文件编辑的新手。感谢所有帮助。我已经阅读了此类文本编辑问题和答案,但它们在我的情况下对我没有帮助。
def read_values():
with open('text.txt', 'r') as f:
lines = f.read().split()
print('List:',lines)
for i, l in enumerate(lines):
if l.startswith('address'):
var1 = l
print('address:', var1)
if l.startswith('netmask'):
var2 = l
print('netmask:', var2)
if l.startswith('gateway'):
var3 = l
print('gateway:', var3)
if l.startswith('dns'):
var4 = l
print('dns:', var4)
read_values()
这是 text.txt 文件:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 125.222.2222
netmask 455.225.222.22
gateway 236.256.222.22
dns-nameserver 123.256.223.22
解决方案
这应该会有所帮助。
with open(filename, 'r') as f:
for line in f: #Iterate each line
val = line.strip() #Strip leading and trailing space.
if val.startswith('address'): #Check for value
var1 = val
print('address:', var1)
if val.startswith('netmask'):
var2 = val
print('netmask:', var2)
if val.startswith('gateway'):
var3 = val
print('gateway:', var3)
if val.startswith('dns'):
var4 = val
print('dns:', var4)
输出:
('address:', 'address 125.222.2222')
('netmask:', 'netmask 455.225.222.22')
('gateway:', 'gateway 236.256.222.22')
('dns:', 'dns-nameserver 123.256.223.22')
推荐阅读
- sql - 查询执行错误:FROM 中的子查询必须有别名
- hp-uft - 收到“HPE Unified 功能测试计算机被锁定或注销”消息
- haskell - Haskell:如何从 Haskell 中的列表中删除列表
- spring - Spring Integration - Files.inboundAdapter,服务器错误打开的文件太多
- amazon-web-services - 使用 AWS Lambda 调用 API 时出错。(AWS Lambda + AWS API 网关 + 邮递员)
- django-rest-framework - 如果条件工作问题,Django rest methodfield?
- excel - Excel VBA onChange 事件
- ios - 设置文本字段约束以在 4.5 到 6.5 英寸的屏幕尺寸中保持有效
- html - 调整浏览器大小时 Div 永久定位
- swift - 如何解决此 Xcode Server Bot 集成错误?