Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

[Python] SimpleNotes

Od dobrych kilku tygodni (z przerwami co prawda) staram się nauczyć coś niecoś o Pythonie. Nie dawno. Raptem kilka dni temu poczułem, że umiem już dostatecznie dużo, by stworzyć coś pożytecznego. Tj. bardziej pożytecznego od różnej maści hello world.
Mój wybór padł na prosty notatnik.

Dlaczego Python?

Bo to najlepiej mi znany język. Trochę umiem c++, ale nie na tyle, by zrobić coś pożytecznego, nie siedząc przy okazji pół dnia w dokumentacji. Prędkość nie jest ważna. Do tego dorzucić można wygodne API do GTK+3 i QT4.

Dokumentacja dla GTK+3

r   e   k   l   a   m   a

Co już jest?

Na razie powstaje aplikacja GUI. Do waszej dyspozycji udostępniam na razie konsolowy odpowiednik. Poniżej znajduje się kod źródłowy aplikacji w wersji konsolowej. Z mojego Gita pobrać możecie core aplikacji GUI.

Kod źródłowy


#!/usr/bin/python
# -*- coding: utf-8 -*-
### ::FUNCTION" ::  ###

###########################
### Liczba linii w pliku###
###########################
def NumberOfLine(): #Number of line
        i = 0
        with open("Notes.txt", "r") as NOL:
            for line in NOL:
                try:
                        if line.strip() != False and line[1] != "@":
                                i = i+1
                except IndexError: 
                        pass
        NOL.close()
        return i
             
#########################
###     DELETE LINES  ###
#########################
def Delete(x):
        with open("Notes.txt","r") as f:
                items = f.readlines()
                f.close()
        with open("Notes.txt","w") as out:
                for item in items[x:]:
                        out.write("%s\n" % item)
#########################
print "Wybierz\n"
print "|A|dd line\n|R|ead Note File\n|D|elete\n|Q|uit"
choice = "N"
#########################

while(choice != "Q"):
    choice = raw_input("Twoj wybor:\t")
    if(choice == "A" or choice == "a"):
        text = raw_input("Podaj? notatke. ENTER konczy\n\n")
        with open("Notes.txt","a") as notefile:
                       
                        NOL = NumberOfLine()+1
                        if text[0] != '@':
                            notefile.write("["+str(NOL)+"] "+text+"\n")
                            notefile.close()
                        else:
                            notefile.write(text+"\n")
                            notefile.close()
        continue
    elif(choice == "R" or choice == "r"):
            notefile = open("Notes.txt","r")
            print notefile.read()
            notefile.close()
            continue
    elif(choice == "D"):
        x = raw_input("Ile linii usunac?")
        Delete(int(x))
        continue
    else:
        continue

Instalacja

Najprościej:


  • Pobrać z linku na końcu plik NotesCmd.py i Notes.txt
  • Zainstalować (jeśli nie mamy) Python 2.6 lub nowszy
  • Dwuklik na pliku z rozszerzeniem do .py
  • Jeśli nie uruchomi się w systemach linuxowych wpisujemy

    chmod +x /home/<user>/<ścieżka>/NotesCmd.py

Struktura pliku Notes.txt

Notatki można tworzyć korzystając z ulubionego edytora tekstowego.


[1] Wpis 1
[2] Wpis 2
[3] Wpis 3 
@ KOMENTARZ
[4] Wpis 4

Link

Github
 

windows linux programowanie

Komentarze