python - tutorial - पायथन में एक विशिष्ट रेखा पर जाएं?




python tutorial (5)

आप बस अपनी लाइनों और सूचकांक को बाद में पढ़ सकते हैं।

line = open('filename').readlines()[33]

मैं एक .txt फ़ाइल में लाइन 34 पर जाना चाहता हूं और इसे पढ़ना चाहता हूं। पाइथन में आप ऐसा कैसे करेंगे?


एक समाधान जो आवश्यक से अधिक फ़ाइल को नहीं पढ़ेगा

from itertools import islice
line_number = 34

with open(filename) as f:
    # Adjust index since Python/islice indexes from 0 and the first 
    # line of a file is line 1
    line = next(islice(f, line_number - 1, line_number))

एक बहुत ही सरल समाधान है

line_number = 34

with open(filename) as f:
    f.readlines()[line_number - 1]

पायथन मानक लाइब्रेरी के linecache मॉड्यूल का प्रयोग करें:

line = linecache.getline(thefilename, 33)

वही करना चाहिए जो आप चाहते हैं। आपको फ़ाइल खोलने की भी आवश्यकता नहीं है - linecache यह सब आपके लिए करता है!


मैंने इसके बारे में एक धागा बनाया और मदद नहीं मिली, इसलिए मैंने अपने हाथों में मामला लिया।

यहां कोई जटिल कोड नहीं है।

import linecache
#Simply just importing the linecache function to read our line of choosing

number = int(input("Enter a number from 1-10 for a random quote "))
#Asks the user for which number they would like to read(not necessary) 

lines = linecache.getline("Quotes.txt", number)
#Create a new variable in order to grab the specific line, the variable 
#integer can be replaced by any integer of your choosing.

print(lines)
#This will print the line of your choosing.

यदि आप इसे पाइथन में पूरा कर रहे हैं तो सुनिश्चित करें कि आपके पास एक ही स्थान पर दोनों फ़ाइलें (.py) और (.txt) हैं अन्यथा पाइथन इसे पुनर्प्राप्त करने में सक्षम नहीं होगा, जब तक आप फ़ाइल स्थान निर्दिष्ट नहीं करते। ईजी।

linecache.getline("C:/Directory/Folder/Quotes.txt

इसका उपयोग तब किया जाता है जब फ़ाइल आपके द्वारा उपयोग की जा रही .py फ़ाइल की तुलना में किसी अन्य फ़ोल्डर में होती है।

उम्मीद है की यह मदद करेगा!


for linenum,line in enumerate(open("file")):
    if linenum+1==34: print line.rstrip()




python