2016-04-13 18 views
-1

okumak/kopyalamak bir dosyadan belirli bir metni alıp bir değişkene atayım. Dosyası (token.txt) içerikleri şunlardır:Bir dosyadaki belirli bir metni okuma ve python'da bir değişkene atama

  • Diğer dosya içeriği *
  • Diğer dosya içeriği *
  • Diğer dosya içeriği *
  • Diğer dosya içeriği *
  • Diğer dosya içeriği * Orta -Access belirteci: eyJ4NXQjUzI1NiI6IkNiNTFhalJ2THBOTF8ya20zZVA2WUxkbWYydldxUzJhdjh3VGdzVngxV0UiLCJ4NXQiOiJFV2pWcWc3MFoxQTNUcWNtUzhKZTg1blJ1cDgiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJodHRwOlwvXC9zbGMwMmp4cC51cy5vcmFjbGUuY29tOjg5OTAiLCJzdWIiOiJiMzcxYjI5Y2Q1NDg0NWRlYmFlMTEwNTAwNTBkZWFjMyI sInNjb3BlIjoidXJuOm9wYzppZG06eC5jcm9zc3RlbmFudCB1cm46b3BjOmlkbTp4LmFsbHNjb3BlIGh0dHBzOlwvXC9pZGVudGl0eS5vcmFjbGVjbG91ZC5jb21cL2FkbWluXC9jcm9zc3RlbmFudCBodHRwczpcL1wvaWRlbnRpdHkub3JhY2xlY2xvdWQuY29tXC9hZG1pblwvYWxsc2NvcGUiLCJpc3MiOiJodHRwczpcL1wvaWRlbnRpdHkub3JhY2xlY2xvdWQuY29tXC8iLCJ0b2tfdHlwZSI6IkFUIiwiY2xpZW50X3RlbmFudG5hbWUiOiJvcmFjbGUiLCJleHAiOjQ2MTYyMTExOTUsImNsaWVudF9uYW1lIjoiYWRtaW4iLCJpYXQiOjE0NjA1Mzc1OTUsImp0aSI6ImFkZGJhNzQ0LTM3NmQtNDFiZC1hMDRlLWRmY2YwMTQ4ZTYzMyIsInRlbmFudCI6Im9yYWNsZSIsImNsaWVudF9pZCI6ImIzNzFiMjljZDU0ODQ1ZGViYWUxMTA1MDA1MGRlYWMzIn0.T_aCXYzT4pThuKic2VEDbSKSc9Yl0upmjun62vPxdEBOYhCiMCbNA_jdFxd_ZVcegZICnQyl8KrD52MCpCjy5G_yMwEjTppnojcWv7FFIYMgpNu664jB4VPeGoiGJU7KH0EtpN6akKT5eSnlRunlqZd4FWSclDckaKhuPuKo8PPf2bzShGb4aH7obYik_RRbAiOf4z1vdM7JKYKo0Co6K1ZNkdZ3_K6hSOtHoNhHc6B6uay_D24T3nTHyllukTU4m4KsCzJfwFz407dNWk7niDTZVMXUn893_dIbxZ-WOCKgRpqupeb7ihmGbQ5C-JflP1iUScQ4tYM8EIpvm_dXvg

Yapı başarılı.

Burada, Orta erişim belirtecinin değerini bu dosyadan "token.txt" kopyalamak ve ttk adlı bir değişkene atamak istiyorum.

+0

Değer ve değişken almak için regax'ı kullanabilirsiniz. –

cevap

2

dosya böylece, ilk satırda gerekli belirteci barındırdığı görülüyor sonuçları open() ile açın ve ilk satırı bir değişkene okuyun:

with open('somefile.txt') as f: 
    ttk = next(f).replace('Mid-access token:', '').strip() 

Artık değişken ttk, belirteç dizesini içerecektir. str.replace(), satırdaki ön eki kaldırır ve str.strip(), satırın sonundaki yeni satır karakteri gibi çevreleyen tüm boşlukları kaldırmak için vardır.

Düzenleme

belirteç çizgi aslında hep Mid-access token: çizgi izleyen, dosyanın sonuna doğru meydana geldiği görülmektedir. Burada, dosyanın içindeki konumundan bağımsız olarak belirtecini ayıklayabilecek bazı kodlar:

ttk = None 
with open('somefile.txt') as f: 
    for line in f: 
     if line.startswith('Mid-access token:'): 
      ttk = next(f).strip() 

print(ttk) 
+0

Simge, dosyanın sonunda değil, dosyanın sonunda bulunur.Bu kod bu senaryo için de iyi mi? Token, "Orta erişim belirteci:" ifadesinin ardındaki tüm metnin tek satırındadır. Değer tek satır olarak okunmalıdır. Jeton o kadar uzun. –

+0

@ deva.tester: Tamam, yine de şartı netleştirdiniz. Lütfen göndermeyi _before_ yapmaya çalışın. – mhawke

+0

@ deva.tester: Cevabımı güncelledim. Artık "ttk" satırının içeriğine, "Orta erişim belirteci:" metniyle başlayan bir çizgiyi hemen izleyecek. – mhawke

0

belgeden içindekiler open(token.txt, r)

kullanacağım dosyaya kaydetmek için eklemek almak için

data=myfile.read().replace("mid-acess token:" "") 

Baskı

print(data) 
İlgili konular