Text dosyası üzerinden belirlenen bölümleri almak

Merhaba iyi akşamlar, elimde bulunan text dosyasında X,Y ve Z koordinatları bulunmakta her birini değişkenlere atayarak print ettirmek istiyorum nasıl yapacağım konusunda yardımcı olursanız sevinirim.

Almak istediğim çıktı
print(X) yani 42705.373764
print(Y) yani 60841.9179916
print(Z) yani 60841.9179916

TEXT DOSYASI:

X:42705.373764 Y:60841.9179916 Z:60841.9179916

KOD:

def deneme():
	with open(r'Pos.txt') as f:
		for line in f:
			if line.__contains__("X:"):
				lines = line.split("X:")
				select = lines[1].strip()
				X = select
				lines = line.split("Y:")
				select = lines[1].strip()
				Y = select
				lines = line.split("Z:")
				select = lines[1].strip()
				Z = select
				print(X,Y,Z)

Merhaba, iyi akşamlar.
split ve strip fonksiyonunu bir kaç defa kullanmanıza gerek yok aslında, kodu şu şekilde kısaltabilirsiniz.

def verileri_al(dosya):
    with open(dosya) as f:
        return [[float(j[2:]) for j in i.split()] for i in f.readlines()]
        
        
for i in verileri_al("test.txt"):
    x, y, z = i
    print(x)

Teşekkürler, bu kodları float değerine göre yazdınız galiba float olmadan çalıştırabilir miyim ?

çalıştırabilirsiniz, evet.

1 Beğeni

Reversed nasıl kullanabilirim acaba bir kaç şey denedim ama hatalı çalıştı.

Dokumentasyonda yazdigi gibi. Ben deneyince dogru calisiyor.

Biraz açabilir misiniz? Hatalı çalışmaktan kastınız nedir?

Yani bu şekilde Python 2.2 ve 2.7 için sağlıklı çalışmıyor Reversed bölümünü başka bir yoldan yapabilir miyim ?

def dene():
	for i in reversed(verileri_al("Pos.txt")):
		x, y, z = i
		chr.SetPixelPosition(int(x), int(y), int(z))
		chat.AppendChat(7,"X: "+str(x)+" Y: " +str(y)+" Z: "+str(z))
		player.OnKeyUp(app.DIK_S)
	chat.AppendChat(7,"Bitti!")