可能な限り簡単な方法でファイルから特定のデータを取得する方法を見つけようとしています。インターネット全体を検索しましたが、何も見つかりません。私はこれを行うことができるようにしたい:
ファイル.txt:
data1 = 1
data2 = 2
しかし、私はdata1だけを取得したいので、
p = open('file.txt')
f = p.get(data1)
print(f)
任意のアイデア、前もって感謝します。
可能な限り簡単な方法でファイルから特定のデータを取得する方法を見つけようとしています。インターネット全体を検索しましたが、何も見つかりません。私はこれを行うことができるようにしたい:
ファイル.txt:
data1 = 1
data2 = 2
しかし、私はdata1だけを取得したいので、
p = open('file.txt')
f = p.get(data1)
print(f)
任意のアイデア、前もって感謝します。
できるよ:
with open("file.txt", "r") as f:
for line in f:
key, val = line.split('=')
key = key.strip()
val = val.strip()
if key == 'data1': # if data1 is not the first line
# do something with value and data
マップを使用:
from operator import methodcaller
with open("file.txt", "r") as f:
for line in f:
key, val = map(methodcaller("strip", " "), line.split('='))
if key == "data1":
# do something with value and data
最初の行にあるものだけが必要であることがわかっている場合data1
は、次のことができます
with open('file.txt', 'r') as f:
key, val = tuple(x.strip() for x in f.readline().split('='))
リスト内包表記は、各文字列から空白を削除するために使用されます。
with open("file.txt", "r") as f:
key, val = f.readline().split('=')
if key.strip() == 'data1': # if data1 is not the first line
# do something with value and data