20
Data File Handling सीबीएसई पाठ यम पर आधारत का -12 ारा: संजीव भदौरिया नातकोि शिक (संगणक शवान ) के० शव० बािाबंकी (लखनऊ संभाग) सॊजीव भदौररया, के० वव० बाराबॊकी

Data File Handling - WordPress.com · Data File Handling • ऄ तक हन जजतन प्रोग्रा द §ख हैं व क्षजिक (transient) थ | ऄथाात

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Data File Handling सीबीएसई पाठ्यक्रम पर आधाररत

    कक्षा -12

    द्वारा: संजीव भदौरिया स्नातकोत्ति शिक्षक (संगणक शवज्ञान ) के० शव० बािाबंकी (लखनऊ संभाग)

    सॊजीव भदौररया, के० वव० बाराबॊकी

  • Data File Handling • ऄभी तक हमन ेजजतन ेभी प्रोग्राम दखेे हैं वे क्षजिक (transient) थ े| ऄथाात वे प्रोग्राम

    जो बहुत थोड़ ेसमय के जिए run होत ेहैं और कुछ output दते ेहैं और ईसके बाद ईनका डाटा गायब हो जाता ह ै | और जब अप ईन programs को दोबारा run करत ेहैं तो फिर से नया डाटा हमें प्रयोग करना होता ह ै|

    • ऐसा आसजिए होता ह ैक्योंफक डाटा को primary memory में enter फकया होता ह ैजोफक temporary memory होती ह ैऔर आसका डाटा गायब हो जाता ह ै|

    • ऐसे programs जो persistent हों ऄथाात वे हमेशा के जिए या ऄजधक दरे के जिए run होत ेहैं तो आनका डाटा permanent storage (जैस ेफक harddisk) में store फकया जाता ह ै| यफद प्रोग्राम बंद या restart भी होता ह ैतो पहि ेप्रयोग फकया हुअ डाटा वापस जमि जाता ह ै|

    • आसके जिए program ऐसा होना चाजहए जजसम े text files को read या write फकया जा सके |

    • File एक ऐसा document होती ह ै जजसम े डाटा को permanent storage में save करके रख सकत ेहैं |

    • File I/O (input-output) का मतिब ह ै डाटा का primary memory से secondary memory में transfer और vice versa.

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Hard Disk

    Program in RAM (Random Access

    Memory) User

  • Files का प्रयोग क्यों? • िाआि के ऄन्दर store फकय ेहुए डाटा को persistent data कहा जाता ह ै| क्योंफक

    यह स्थाइ (permanent) होता ह ै |

    • Python िाआि में डाटा को read और write करन ेके जिए ऄवसर दतेा ह ै|

    • भजवष्य में डाटा को प्रयोग करन ेके जिए हम डाटा files का प्रयोग करत ेहैं |

    • जैस ेअप word, excel आत्याफद में डाटा को save करत ेहैं वैसा ही काया हम पाआथन

    प्रोग्राम के साथ कर सकत ेहैं |

    • “File एक प्रकार की characters का collection होती ह ै जजसम ेहम read और

    write ऑपरेशन कर सकत े हैं | और आसे secondary storage में save भी कर

    सकत ेहैं |”

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Python Program

    External File

    (Secondary Storage)

    Write to file (Save)

    Read from file (Load)

  • Data File Operations File के उपर जनम्न जिजखत मुख्य operations होत ेहैं -

    1. िाआि को खोिना (Opening a file )

    2. Operations perform करना (Performing operations) 1. READ

    2. WRITE etc.

    3. िाआि को बंद करना (Closing The File)

    आनके ऄजतररक्त जनम्न और काया भी files के साथ फकय ेजा सकत ेहैं -

    • िाआि को create करना

    • Data को display करना ऄथाात traversing

    • File में data को append करना

    • File में data को insert करना

    • File से data को delete करना

    • File की copy बनाना

    • File में data को update करना आत्याफद |

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Open File

    Process Data

    Close File

  • File Types File दो प्रकार की होती हैं –

    1. Text िाआि: एक text िाआि, िाआन का एक sequence होती ह ैऔर िाआन characters का sequence होती ह,ै जोफक की फकसी permanent storage

    media में सुरजक्षत रहती ह ै | वैस े तो पाआथन में default character coding

    होती ह ै ASCII, िेफकन स्ट्स्िंग के साथ ‘U’ constant का प्रयोग करके आसको

    UNICODE में बदिा जा सकता ह ै | text िाआि में प्रत्येक िाआन एक जवशेष

    character से ख़तम(terminate) होती ह ैजजसे End of Line (EOL) के नाम से

    जानत ेहैं | ये human readable रूप में होती हैं और आन्हें फकसी भी text editor

    की मदद से बनाया जा सकता ह ै|

    2. Binary िाआि: Binary िाआल्स का प्रयोग binary data जैसे images, video files, audio files आत्याफद को स्टोर करन ेके जिए फकया जाता ह ै | आनमे

    सामान्यतया numbers स्टोर रहते हैं | binary file में िाआन को समाप्त करन ेके

    जिए कोइ delimiter नहीं होता ह ै| चूूँफक यह सीधे binary के रूप में रहती हैं ऄतः

    आन्हें ऄनुवाफदत (translate) करने की ज़रुरत नहीं होती ह ै | आसी कारि यह files

    असान और fast होती हैं |

    सॊजीव भदौररया, के० वव० बाराबॊकी

  • Opening & Closing Files • Python में file के उपर काम करन ेके जिए हमें एक file variable या file handle

    की ज़रुरत होती ह ै|

    • आस file object को हम open( ) function या file( ) function से बना सकत ेहैं |

    • Open( ) function से एक िाआि object create होता ह ैजजसका प्रयोग हम बाद

    में file manipulation से सम्बंजधत functions को access करन ेके जिए करत ेहैं |

    • आसका syntax जनम्न ह ै -

    =open(,)

    • File को access करन ेके मोड –

    – read(r): To read the file

    – write(w): to write to the file

    – append(a): to Write at the end of file.

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Python Program

    External File

    (Secondary

    Storage) Read from file (Load)

  • Opening & Closing Files. . .

    सॊजीव भदौररया, के० वव० बाराबॊकी

    यहाॉ ध्यान देने योग्य यह बात है की इस कोड में जो “Hello.txt” फाइऱ प्रयुक्त हुई है वह पहऱे से बनाई गयी है ठीक उसी फोल्डर में जहाॉ python install ककया हुआ है |

    फाइऱ को open ककया

    फाइऱ को close ककया

    Output

    फाइऱ के functions को व्यक्त करता एक program.

  • File Modes

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Mode Description

    r पहिे से ईपजस्थत िाआि को केवि Read करने के जिए

    rb Binary िॉमेट में केवि read करने के जिए

    r+ Read और write के जिए िेफकन िाआि पॉआंटर िाआि की एक दम शुरुअत में होगा |

    rb+ Binary िाआि में Read और write के जिए िेफकन िाआि पॉआंटर िाआि की एक दम शुरुअत में

    होगा |

    w जसिा writing मोड में | यफद िाआि पहिे से ईपजस्थत ह ैतो पहिे वािी िाआि overwrite हो

    जाएगी | यफद िाआि पहिे से नहीं ह ैतो नयी िाआि बन जाएगी |

    wb Binary िाआि जसिा writing मोड में | यफद िाआि पहिे से ईपजस्थत ह ैतो पहिे वािी िाआि

    overwrite हो जाएगी | यफद िाआि पहिे से नहीं ह ैतो नयी िाआि बन जाएगी |

    wb+ Binary िाआि reading और writing मोड में | यफद िाआि पहिे से ईपजस्थत ह ैतो पहिे वािी

    िाआि overwrite हो जाएगी | यफद िाआि पहिे से नहीं ह ैतो नयी िाआि बन जाएगी |

    a Append मोड में | िाआि पॉआंटर िाआि के एक दम अजखरी में होगा |

    ab Binary िाआि Append मोड में | िाआि पॉआंटर िाआि के एक दम अजखरी में होगा |

    a+ Appending और reading के जिए | यफद िाआि ईपजस्थत ह ैतो िाआि पॉआंटर अजखरी में होगा

    | यफद िाआि ईपजस्थत नहीं ह ैतो नयी िाआि बनेगी read और write के जिए |

    ab+ Binary िाआि Appending और reading के जिए | यफद िाआि ईपजस्थत ह ैतो िाआि पॉआंटर

    अजखरी में होगा | यफद िाआि ईपजस्थत नहीं ह ैतो नयी िाआि बनेगी read और write के जिए |

  • File को read करना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Output

    Hello.txt फाइऱ को read करने के एक

    Program

    Hello.txt फाइऱ notepad के माध्यम से बनाया था |

  • File को read करना . . .

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Output

    Hello.txt फाइऱ से पहऱे 10 characters

    को read करना

    1. आसके ऄिावा हम readline( ) िंक्शन का भी प्रयोग कर सकते हैं जजसके माध्यम से

    िाआि की एक एक िाआन read की जा सकती ह ै|

    2. आसी प्रकार readlines( ) function का प्रयोग एक साथ कइ lines को read करन े

    के जिए फकया जाता ह ै |

  • File में write करना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Output

    Hello.txt फाइऱ में Write करने के एक

    Program

    Hello.txt फाइऱ को उपरोक्त प्रोग्राम के माध्यम से write ककया गया है|

    • हम characters को िाआि में जनम्न दो methods का प्रयोग करके जिख सकते हैं | 1. write (string)

    2. writelines (sequence of lines)

    • write( ) : यह एक स्ट्स्िंग को argument के रूप में िेता ह ैऔर िाआि में जोड़ दतेा ह,ै end of line character के जिए हमें string में ‘\n’ जिखना होता ह ै|

    • writelines ( ) : यफद list, tuple, आत्याफद को िाआि में जिखना हो तो writelines ( ) का प्रयोग करना होता ह ै|

  • File में write करना. . .

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Output

    Hello.txt फाइऱ में Writelines( ) को प्रयोग करने का एक Program

    Hello.txt फाइऱ को उपरोक्त प्रोग्राम के माध्यम से write ककया गया है|

  • File में write करना. . .

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Output

    Hello.txt िाआि में with का प्रयोग करके िाआि को open करना |

    Hello.txt फाइऱ को उपरोक्त प्रोग्राम के माध्यम से write ककया गया है|

  • File में append करना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Output

    Hello.txt फाइऱ में append करने के एक

    Program

    Hello.txt फाइऱ में उपरोक्त प्रोग्राम के माध्यम से नया data append ककया गया है|

    • Append का मतिब होता ह ैपहिे से ईपजस्थत file में कुछ नया data जोड़ना |

    • आसके जिए ‘a’ मोड का प्रयोग करत ेहैं जजसका मतिब होता ह ैिाआि को write मोड में

    खोिना, यफद िाआि ईपजस्थत हो तब िाआि के ऄंत में data को जोड़ना |

  • User Input को File में write करना. . .

    सॊजीव भदौररया, के० वव० बाराबॊकी

    Output

    Student.txt file में यूजर

    से data आनपुट िेकर

    िाआि में write करना |

    Student.txt फाइऱ को उपरोक्त प्रोग्राम

    के माध्यम से write ककया गया

    है|

  • Binary File में Operations करना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • यफद हम फकसी िाआि में structure को जिखना चाहें जैसे फक list, dictionary

    आत्याफद और साथ ही हम आसको read भी करना चाहते हैं तो हमें Python का एक

    module pickle प्रयोग करना होगा |

    • Pickling का मतिब ह ैिाआि में write करने से पहिे structure को byte stream

    में बदिना |

    • और जब िाआि को read करत े हैं तब आसका ईल्टा process होता ह ै ऄथाात

    unpickling.

    • Pickle module दो method प्रदान करता ह ै dump( ) write करन े के जिए और

    load( ) read करन ेके जिए

  • Binary File में Operations करना

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • Binary File को read करन ेके जिए load ( ) का प्रयोग

  • Relative और Absolute Paths

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • यह तो हम सभी जानत ेहैं की files को directory में रखा जाता ह ैजजन्हें हम

    folder भी कहते हैं |

    • प्रत्येक running प्रोग्राम की एक current directory होती ह ै | जो फक

    ऄजधकतर default directory होती ह ैअर पाआथन सदवै सबस ेपहि ेdefault

    directory ही दखेता ह ै|

    • OS module कइ ऐसे function प्रदान करता ह ै जजनस े हम files और

    directories पर काम कर सकते हैं | os का मतिब ह ैoperating system|

    • एक function getcwd बहुत काम का function होता ह ै जजसस े हम ऄपन े

    current working directory का पता िगा सकत ेहैं |

  • Standard File Streams

    सॊजीव भदौररया, के० वव० बाराबॊकी

    • जवजभन्न I/O devices से ऄच्छे performance के जिए हम standard I/O

    Streams का प्रयोग करत ेहैं |

    • Python में कुछ standard streams जनम्न हैं –

    – Standard input Stream sys.stdin

    – Standard output Stream sys.stdout

    – Standard error Stream sys.stderr

  • धन्यवाद और ऄजधक पाठ्य-सामग्री हतेु जनम्न स्ट्िक पर जक्िक करें -

    सॊजीव भदौररया, के० वव० बाराबॊकी

    www.pythontrends.wordpress.com

    http://www.pythontrends.wordpress.com/