Difference between revisions of "Python tunnis tehtud näited"

From ICO wiki
 
(28 intermediate revisions by 13 users not shown)
Line 1: Line 1:
 +
<source lang="python">
 +
#!/usr/bin/python
 +
#  -*- coding: utf-8 -*-
 +
from __future__ import print_function
 +
from __future__ import unicode_literals
 +
#Elina Prudnikova A21, 12.05.2015
 +
#1. Skript loeb failist numbrid
 +
#2. Kui number jagub 3 siis prindib numbri
 +
 +
#exit 1 - Argumentide arv vale
 +
#exit 2 - Aisendfaili ei õnnestu lugeda
 +
 +
import sys
 +
 +
if len(sys.argv) != 2:
 +
print ("Käsurea argumente peab olema 1")
 +
sys.exit(1)
 +
 +
try:
 +
    sisend = open(sys.argv[1])
 +
 +
except IOError:
 +
    print ('Sisendfaili, sys.argv[1], ei saa avada')
 +
    sys.exit(2)
 +
 +
for line in sisend.readlines():
 +
    line = line.strip()
 +
    if line:
 +
        line2=float(line)
 +
        if line2 % 3 == 0:
 +
            print (line)
 +
 +
</source>
 +
 +
 +
<source lang="python">
 +
#!/usr/bin/python
 +
#  -*- coding: utf-8 -*-
 +
from __future__ import print_function
 +
from __future__ import unicode_literals
 +
 +
import sys
 +
import urllib2
 +
 +
 +
print("See on tehtud IDET kasutades")
 +
 +
print(sys.argv)
 +
print(len(sys.argv))
 +
 +
if len(sys.argv) != 2:
 +
    print("Kasuta programmi ...")
 +
    sys.exit(1)
 +
 +
 +
print("programm lõpetas töö")
 +
 +
try:
 +
    fh = open(sys.argv[1], 'r')
 +
    for line in fh.readlines():
 +
        a_line = line.split(',')
 +
        print("URL:", a_line[0], "String", a_line[1])
 +
        try:
 +
            u = urllib2.urlopen(a_line[0])
 +
            sisu = u.read()
 +
            print("Srtingi leidsin", sisu.count(a_line[1].strip()), "korda")
 +
        except Exception:
 +
            print("URLi avamine ebaõnnestus")
 +
        print("URL:", a_line[0], "String", a_line[1])
 +
 +
except IOError:
 +
    print("Faili avamine ebaõnnestus")
 +
</source>
 +
 +
 +
<source lang="python">
 +
#!/usr/bin/env python
 +
# -*- coding: utf-8 -*-
 +
# Johannes Tammekänd - A22, 18.03.2014
 +
# Programm mis võtab käsurea argumendina sisendfaili ning leiab sellest
 +
# sisendfailist kõige pikima sõna ja väljastab selle sõna koos reanumbriga.
 +
 +
import sys
 +
 +
if len(sys.argv) != 2:
 +
print "Argumentide arv on vale!"
 +
print "Kasuta programmi ", sys.argv[0], "sisendfail"
 +
sys.exit(1)
 +
 +
try:
 +
pikim = open(sys.argv[1], 'r')
 +
lookup = max(pikim, key = len)
 +
lookup = max(lookup.split(), key=len)
 +
print lookup
 +
except IOError:
 +
print "Sisendfaili ei saa avada."
 +
 +
with open(sys.argv[1]) as minuFail:
 +
for num, line in enumerate(minuFail, 1):
 +
if lookup in line:
 +
print 'Sõna oli real:', num
 +
 +
 +
 +
print "Programm lõpetas töö"
 +
</source>
 +
<br>
 +
<source lang="python">
 +
#!/usr/bin/env python
 +
# -*- coding: utf-8 -*-
 +
# Johannes Tammekänd - A22, 18.03.2014
 +
# Programm avab faili, leiab sealt kõige pikema rea ning väljastab selle.
 +
 +
 +
import sys
 +
 +
if len(sys.argv) != 2:
 +
print "Argumentide arv on vale!"
 +
print "Kasuta programmi ", sys.argv[0], "sisendfail"
 +
sys.exit(1)
 +
 +
try:
 +
pikim = open(sys.argv[1], 'r')
 +
lookup = max(pikim, key = len)
 +
print lookup
 +
except IOError:
 +
print "Sisendfaili ei saa avada."
 +
 +
 +
print "Programm lõpetas töö"
 +
</source>
 +
<br>
 +
<source lang="python">
 +
#!/usr/bin/env python
 +
# -*- coding: utf-8 -*-
 +
# Programm avab faili, leiab sealt kõige pikema rea ning väljastab selle
 +
# Autor: Karl-Martin Karlson
 +
 +
from __future__ import print_function
 +
 +
import sys
 +
 +
#Kontrollib käsurea argumentide arvu
 +
 +
if len(sys.argv) != 2:
 +
    print("Argumentide arv on vale!")
 +
    print("Kasuta programmi", sys.argv[0], "sisendfail")
 +
    sys.exit(1)
 +
 +
failinimi = sys.argv[1]
 +
 +
 +
try:
 +
    ifh = open(sys.argv[1], 'r')
 +
except I0Error:
 +
    print("Faili ei saanud avada")
 +
    sys.exit(1)
 +
   
 +
reapikkus = 0
 +
pikimrida = "Tere"
 +
 +
ifh=open(failinimi)
 +
while True:
 +
    line = ifh.readline()
 +
    if reapikkus < len(line):
 +
        reapikkus = len(line)
 +
        pikimrida = line     
 +
    if not line:
 +
        break
 +
ifh.close()
 +
print (pikimrida)
 +
</source>
 +
<br>
 +
<source lang="python">
 +
#!/usr/bin/env python
 +
# -*- coding: utf-8  -*-
 +
# Skript kontrollib argumentide arvu, avab argumendina antud faili(kontrollides eelnevalt selle
 +
# olemasolu ning õiguseid sellest lugemiseks) ning seejärel prindib pikima rea välja.
 +
# Autor: Marten Mattisen
 +
import sys
 +
if (len(sys.argv) != 2):
 +
    print ("Argumentide arv on vale!")
 +
    sys.exit(2)
 +
try:
 +
    print "Pikim rida:"+max(open(sys.argv[1], 'r'), key=len)
 +
except IOError:
 +
    print 'Sisendfail on puudu või pole sellest lugemiseks õiguseid'
 +
    sys.exit(1)
 +
print 'Skript on töö lõpetanud.'
 +
 +
</source>
 +
<br>
 +
 
<source lang="python">
 
<source lang="python">
 
#!/usr/bin/python
 
#!/usr/bin/python
Line 199: Line 392:
 
</source>
 
</source>
  
 +
Skript loeb etteantud teksti failist ridade, sõnade ja tähemärkide arvu
 
<source lang="python">
 
<source lang="python">
 
#!/usr/bin/python
 
#!/usr/bin/python
#-*- coding: utf-8 -*-
+
# -*- coding: utf-8 -*-
#programm arvutab suvalise jada aritmeetilise keskmise
+
# Skript loeb etteantud teksti failist ridade, sõnade ja tähemärkide arvu
 +
from sys import argv
 +
 
 +
if len(argv) < 2:
 +
    print "Sa ei sisestanud ühtegi argumenti, mida kontrollida"
 +
    exit(1)
 +
   
 +
fh=open(argv[1])
 +
read = fh.readlines()
 +
 
 +
sonad = 0
 +
tahed = 0
 +
for rida in read:
 +
    tahed = tahed + len(rida)
 +
    sonad = sonad + len(rida.split())
 +
 
 +
print "Ridu:" , len(read)
 +
print "Sonu:" , sonad
 +
print "Tähti:" , tahed
 +
 
 +
fh.close()
 +
</source>
 +
 
 +
Skript loeb etteantud teksti failist ridade, sõnade ja tähemärkide arvu
 +
<source lang="python">
 +
#!/usr/bin/python
 +
# -*- coding: utf-8 -*-
 +
# Tee skript, mis leiab käsurealt etteantud tekstifaili
 +
# ridade arvu, tähtede arvu ja sõnade arvu ja väljastab ekraanile
 +
 
 +
import sys
 +
 
 +
f = open(sys.argv[1], "r" )
 +
 
 +
lines = f.readlines()
 +
count = 0
 +
sonad = 0
 +
 
 +
 
 +
for i in range(0,len(lines)):
 +
    count = count + len(lines[i])
 +
    sonad = sonad + len(lines[i].split(" "))
 +
   
 +
print "Ridu:", len(lines)
 +
print "Tähemärke:", count
 +
print "Sõnu:", sonad
 +
 
 +
f.close()
 +
</source>
 +
 
 +
Skript kirjutab tekstifaili 100 rida rea numbrite ja random sisuga, komadega eraldatult
 +
<source lang="python">
 +
#!/usr/bin/python
 +
# -*- coding: utf-8 -*-
 +
# Tee skript, mis kirjutab komadega eraldatud tekstifaili 100 rida, igas reas järgnev info:
 +
# rea nr, random nr 1..100, random märk pikkusega 0..32
  
 
import sys
 
import sys
 +
import random
 +
import string
 +
 +
f = open(sys.argv[1], "w" )
 +
 +
for i in range(1, 101):
 +
    ran=str(random.randrange(1,100+1))
 +
    f.write(str(i)+',')
 +
    f.write(ran+',')
 +
    for j in range(1,random.randrange(1,32+1)):
 +
        f.write(random.choice(string.ascii_letters))
 +
    f.write('\n')
 +
 +
f.close()
 +
</source>
 +
 +
Skript kirjutab ette antud faili 100 rida. Igal real on rea number, suvaline number 1 ja 100 vahel ja suvaline tähemärk, mis on komadega eraldatud
 +
<source lang="python">
 +
#!/usr/bin/python
 +
# -*- coding: utf-8 -*-
 +
# Skript kirjutab ette antud faili 100 rida. Igal real on rea number, suvaline number 1 ja 100 vahel ja suvaline tähemärk, mis on komadega eraldatud
 +
from sys import argv
 +
from random import randint
 +
import random
 +
letters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
 +
 +
if len(argv) < 2:
 +
    print "Sa ei sisestanud ühtegi argumenti, mida kontrollida"
 +
    exit(1)
 +
   
 +
fh=open(argv[1], "w")
 +
 +
sonad = 0
 +
tahed = 0
 +
for rida in range(100):
 +
    fh.write(str(rida+1) + "," + str(randint(1, 101)) + "," + random.choice(letters) + "\n")
 +
   
 +
fh.close()
 +
</source>
 +
 +
Skript saadab meili kasutades smtplib teeki ning on praktiliselt identne StackOverflow lehel asuva koodiga, mille leiab sõnumi sisust.
 +
<source lang="python">
 +
#!/usr/bin/env python
 +
# -*- coding: utf-8 -*-
 +
# Üllar Seerme, A21
 +
# 25.03.14
 +
import smtplib
 +
 +
FROM = ""
 +
TO = [""]
 +
 +
SUBJECT = "Hello World!"
 +
TEXT = "Greetings from http://stackoverflow.com/questions/6270782/sending-email-with-python"
 +
 +
MESSAGE = """\
 +
From: %s
 +
To: %s
 +
Subject: %s
 +
 +
%s
 +
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)
 +
 +
server = smtplib.SMTP("mail.itcollege.ee")
 +
server.sendmail(FROM, TO, MESSAGE)
 +
server.quit()
 +
</source>
 +
skript saadab meili kasutades smtplib teeki. Süntaksi sain tutorialspoint.com dokumentatsioonidest.
 +
<source lang="python">
 +
#!/usr/bin/python
 +
#A21 Juri Kononov Ilma autentimist meili saatmine
 +
import smtplib
 +
 +
smtplib.SMTP('mail.itcollege.ee').sendmail('kellelt@itcollege.ee', 'kellele@itcollege.ee', "emaili sisu")
 +
</source>
 +
 +
 +
<source lang="python">
 +
#!/usr/bin/python
 +
# -*- coding: utf-8 -*-
 +
# Autor: Karl-Martin Karlson
 +
# Rühm: A21
 +
# Skript saadab enda sisu valitud meili aadressile
 +
 +
import smtplib
 +
 +
with open(__file__) as f:
 +
    msg = f.read()
 +
 +
print "Message length is " + repr(len(msg))
 +
 +
 +
server = smtplib.SMTP("172.16.0.160", 25)
 +
server.sendmail("saatja@itcollege.ee", "saaja@itcollege.ee", msg)
 +
server.quit()
 +
 +
</source>
 +
 +
<source lang="python">
 +
 +
#!/usr/bin/python
 +
# -*- coding: utf-8 -*-
 +
# Skript läheb ette antud veebilehele ning kopeerib
 +
# kõik leitud URlid lingid.txt faili
 +
 +
import urllib2
 +
import re
 +
import sys
 +
 +
if len(sys.argv) != 2:
 +
    print("Argumentide arv on vale!")
 +
    print("Kasuta programmi", sys.argv[0], "sisendfail")
 +
    sys.exit(1)
 +
   
 +
url = sys.argv[1]
 +
f = open('lingid.txt','w')
 +
 +
page = urllib2.urlopen(url)
 +
page = page.read()
 +
links = re.findall(r"<a.*?\s*href=\"(.*?)\".*?>(.*?)</a>", page)
 +
 +
for link in links:
 +
    f.write('%s \n' % (link[0]))
 +
 +
f.close()
 +
 +
</source>
 +
<br>
 +
 +
<source lang="python">
 +
#!/usr/bin/env python
 +
# -*- coding: utf-8 -*-
 +
# Johannes Tammekänd - A22 - 25.03.14
 +
# Leiab etteantud URL'i lähtekoodist kõik lingid.
 +
 +
import urllib2
 +
import sys
 +
 +
if len(sys.argv) != 2:
 +
  print "Argumentide arv on vale!"
 +
  print "Kasuta programmi ", sys.argv[0], "http://www.veebiaadress.com"
 +
  sys.exit(1)
 +
 +
 +
from BeautifulSoup import BeautifulSoup
 +
page = urllib2.urlopen(sys.argv[1])
 +
soup = BeautifulSoup(page.read())
 +
links = soup.findAll("a")
 +
for link in links:
 +
    print link["href"]
 +
 +
</source>
 +
<br>
 +
<source lang="python">
 +
#!/usr/bin/python
 +
# -*- coding: utf-8 -*-
 +
# Imre Lebedev - A22 - 08.04.2014
 +
# Võtab sisendfailiks logifaili ja kirjutab logifaili väljudnisse järgmiselt
 +
# Et logifaili ajad hakkaks enda aega lugema esimese logirea järgi
 +
import sys
 +
import re
 +
import datetime
 +
 +
if len(sys.argv) != 2:
 +
    print("Argumentide arv on vale!")
 +
    print("Kasuta programmi", sys.argv[0], "sisendfail")
 +
    sys.exit(1)
 +
 +
try:
 +
    fh = open('/home/valjunddomeen.txt','w')
 +
except IOError:
 +
    print "Väljundfail on juba olemas või ei ole sinna võimalik kirjutada"
 +
    sys.exit(1)
 +
 +
try:
 +
    f = open(sys.argv[1],'r')
 +
except IOError:
 +
    print "Sisendfail puudub või ei ole piisavalt õigusi selle avamiseks"
 +
    sys.exit(1)
 +
 +
for line in f:
 +
    try:
 +
        info=line.split("@")[1]
 +
        fh.write(info)
 +
    except IOError:
 +
        print "Faili sisse ei õnnestu kirjutada"
 +
f.close()
 +
</source>
 +
 +
<br>
 +
<source lang="python">
 +
#!/usr/bin/env python
 +
# -*- coding: utf-8 -*-
 +
# Johannes Tammekänd, A22
 +
# Skript, mis loeb sisendfailist emailid ja väljundfaili kirjutab emaili domeenid.
 +
 +
import sys
 +
 +
if len(sys.argv) != 3:
 +
print "Argumentide arv on vale!"
 +
print "Kasuta programmi ", sys.argv[0], "Sisendfail Väljundfail"
 +
sys.exit(1)
 +
 +
try:
 +
input_file = open(sys.argv[1], 'r')
 +
except IOError:
 +
print "Sisendfaili ei saa avada."
 +
 +
try:
 +
output_file = open(sys.argv[2], 'w')
 +
except IOError:
 +
print "Väljundfaili ei saa kirjutada."
 +
 +
for line in input_file.readlines():
 +
print line
 +
line = line.split("@")[1]
 +
output_file.write(line)
 +
</source>
 +
 +
<br>
 +
<source lang="python">
 +
#!/usr/bin/python
 +
#  -*- coding: utf-8 -*-
 +
# Autor Karl Männil
 +
# Programm kontrollib kas on võimalik avada käsurealt sisestatud parameetrite nimelisi faile
 +
from __future__ import print_function
 +
from __future__ import unicode_literals
 +
 +
import sys
 +
 +
# Kontrollime kas programmil on piisavalt argumente (vaja on kolme aga programm ise on ka parameeter)
 +
# Vajadusel pahandame kasutajaga ning õpetame teda!
 +
if len(sys.argv) != 4:
 +
    print("Kasuta programmi vähemalt kolme parameetriga")
 +
    sys.exit(1)
 +
print("Programm lõpetas töö")
 +
 +
# Proovime kas saame avada faili mis sisestati esimese parameetrina (tegelikult parameeter 2), kirjutame ka staatuse
 +
try:
 +
    fh = open(sys.argv[1],'r')
 +
    print ("Faili nimega ", sys.argv[1], "saab avada")
 +
except IOError:
 +
    print("Sisendfaili ei saa avada")
 +
 +
# Proovime kas saame avada faili mis sisestati teise parameetrina (tegelikult parameeter 3), kirjutame ka staatuse
 +
try:
 +
    fh = open(sys.argv[2],'r')
 +
    print ("Faili nimega ", sys.argv[2], "saab avada")
 +
except IOError:
 +
    print("Sisendfaili ei saa avada")
 +
 +
# Proovime kas saame avada faili mis sisestati kolmanda parameetrina (tegelikult parameeter 4), kirjutame ka staatuse
 +
try:
 +
    fh = open(sys.argv[3],'r')
 +
    print ("Faili nimega ", sys.argv[3], "saab avada")
 +
except IOError:
 +
    print("Sisendfaili ei saa avada")
 +
</source>
 +
 +
<source lang="python">
 +
#!/usr/bin/python
 +
# -*- coding: utf-8 -*-
 +
from __future__ import print_function
 +
from __future__ import unicode_literals
 +
 +
import sys
 +
import urllib2
 +
import time
 +
 +
 +
if len(sys.argv) != 3:
 +
    print("Vale argumentide arv!")
 +
    sys.exit(1)
 +
#ava väljundfail kirjutamiseks argument 3
 +
try:
 +
    fhw = open(sys.argv[2], 'w')
 +
 +
except IOError:
 +
    print("Väljundfaili avamine ebaõnnestus!")
 +
    sys.exit(2)
 +
 +
  
summa = 0
+
try:
 +
    fhr = open(sys.argv[1], 'r')
 +
    for line in fhr.readlines():
 +
        a_line = line.split(",")
 +
        try:
 +
            u = urllib2.urlopen(a_line[0])
 +
        except Exception:
 +
            print(a_line[0], "URL avamine ebaõnnestus")
 +
        sisu=u.read()
 +
        arv=sisu.count(a_line[1].strip())
 +
        if arv > 0:
 +
            tekst = "URL: "
 +
            tekst += str(a_line[0])
 +
            tekst += " Fraas: "
 +
            tekst += str(a_line[1].strip())
 +
            tekst += " "
 +
            tekst += time.strftime("%Y-%m-%d %H:%M:%S")
 +
            tekst += " OK"
 +
            tekst += "\n"
 +
            # noinspection PyTypeChecker
 +
            fhw.write(tekst)
 +
        else:
 +
            tekst="URL: "
 +
            tekst+=str(a_line[0])
 +
            tekst+=" Fraas: "
 +
            tekst+=str(a_line[1].strip())
 +
            tekst += " "
 +
            tekst += time.strftime("%Y-%m-%d %H:%M:%S")
 +
            tekst+=" NOTOK"
 +
            tekst+="\n"
 +
            fhw.write(tekst)
  
for i in range (1,len(sys.argv)):
 
    summa = summa + int(sys.argv[i])
 
  
kesk = summa / i
+
except IOError:
 +
    print("Sisendfaili ei saanud avada")
 +
    sys.exit(1)
  
print kesk
 
 
</source>
 
</source>

Latest revision as of 11:12, 12 May 2015

#!/usr/bin/python
#  -*- coding: utf-8 -*-
from __future__ import print_function
from __future__ import unicode_literals
#Elina Prudnikova A21, 12.05.2015
#1. Skript loeb failist numbrid
#2. Kui number jagub 3 siis prindib numbri

#exit 1 - Argumentide arv vale
#exit 2 - Aisendfaili ei õnnestu lugeda

import sys

if len(sys.argv) != 2:
	print ("Käsurea argumente peab olema 1")
	sys.exit(1)

try:
    sisend = open(sys.argv[1])

except IOError:
    print ('Sisendfaili, sys.argv[1], ei saa avada')
    sys.exit(2)

for line in sisend.readlines():
    line = line.strip()
    if line:
        line2=float(line)
        if line2 % 3 == 0:
            print (line)


#!/usr/bin/python
#  -*- coding: utf-8 -*-
from __future__ import print_function
from __future__ import unicode_literals

import sys
import urllib2


print("See on tehtud IDET kasutades")

print(sys.argv)
print(len(sys.argv))

if len(sys.argv) != 2:
    print("Kasuta programmi ...")
    sys.exit(1)


print("programm lõpetas töö")

try:
    fh = open(sys.argv[1], 'r')
    for line in fh.readlines():
        a_line = line.split(',')
        print("URL:", a_line[0], "String", a_line[1])
        try:
            u = urllib2.urlopen(a_line[0])
            sisu = u.read()
            print("Srtingi leidsin", sisu.count(a_line[1].strip()), "korda")
        except Exception:
            print("URLi avamine ebaõnnestus")
        print("URL:", a_line[0], "String", a_line[1])

except IOError:
    print("Faili avamine ebaõnnestus")


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Johannes Tammekänd - A22, 18.03.2014
# Programm mis võtab käsurea argumendina sisendfaili ning leiab sellest 
# sisendfailist kõige pikima sõna ja väljastab selle sõna koos reanumbriga.

import sys

if len(sys.argv) != 2:
	print "Argumentide arv on vale!"
	print "Kasuta programmi ", sys.argv[0], "sisendfail"
	sys.exit(1)

try:
	pikim = open(sys.argv[1], 'r')
	lookup = max(pikim, key = len)
	lookup = max(lookup.split(), key=len)
	print lookup
except IOError: 
	print "Sisendfaili ei saa avada."

with open(sys.argv[1]) as minuFail:
	for num, line in enumerate(minuFail, 1):
		if lookup in line:
			print 'Sõna oli real:', num



print "Programm lõpetas töö"


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Johannes Tammekänd - A22, 18.03.2014
# Programm avab faili, leiab sealt kõige pikema rea ning väljastab selle.


import sys

if len(sys.argv) != 2:
	print "Argumentide arv on vale!"
	print "Kasuta programmi ", sys.argv[0], "sisendfail"
	sys.exit(1)

try:
	pikim = open(sys.argv[1], 'r')
	lookup = max(pikim, key = len)
	print lookup
except IOError: 
	print "Sisendfaili ei saa avada."


print "Programm lõpetas töö"


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Programm avab faili, leiab sealt kõige pikema rea ning väljastab selle
# Autor: Karl-Martin Karlson

from __future__ import print_function

import sys

#Kontrollib käsurea argumentide arvu

if len(sys.argv) != 2:
    print("Argumentide arv on vale!")
    print("Kasuta programmi", sys.argv[0], "sisendfail")
    sys.exit(1)

failinimi = sys.argv[1]


try:
    ifh = open(sys.argv[1], 'r')
except I0Error:
    print("Faili ei saanud avada")
    sys.exit(1)
    
reapikkus = 0
pikimrida = "Tere"

ifh=open(failinimi)
while True:
    line = ifh.readline()
    if reapikkus < len(line):
        reapikkus = len(line)
        pikimrida = line       
    if not line:
        break
ifh.close()
print (pikimrida)


#!/usr/bin/env python
# -*- coding: utf-8  -*-
# Skript kontrollib argumentide arvu, avab argumendina antud faili(kontrollides eelnevalt selle
# olemasolu ning õiguseid sellest lugemiseks) ning seejärel prindib pikima rea välja.
# Autor: Marten Mattisen
import sys
if (len(sys.argv) != 2):
    print ("Argumentide arv on vale!")
    sys.exit(2)
try:
    print "Pikim rida:"+max(open(sys.argv[1], 'r'), key=len)
except IOError:
    print 'Sisendfail on puudu või pole sellest lugemiseks õiguseid'
    sys.exit(1)
print 'Skript on töö lõpetanud.'


#!/usr/bin/python
# -*- coding: utf-8 -*-
# Tere täpiline kommentaar
import sys

print sys.argv[0], sys.argv[1]
print 'Tere maailm!'

muutuja = 5

teine_muutuja = 2.0

print 'jagatis on', muutuja/teine_muutuja
print 'Palun sisesta midagi'
vastus = int(raw_input())

print 'sisestasid', vastus/2.0

if vastus%2 == 0:
    print 'vastus on paarisarv'
else:
    print 'vastus on paaritu arv'
    
for i in range(1,9999):
    print 'i =',i
    
while True:
    print "sisesta midagi"
    a = raw_input()
    if a == 'q':
        print 'programm lõpetas töö'
        sys.exit(0)

Pythoni programm, mis kontrollib, kas arv jagub 10-ga

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

while True:
    print 'Kirjuta mingi arv, mis jagub 10ga'
#raw_input annab stringi, see on vaja teha integer tüüpi
    kasutajaarv = int(raw_input())
    if kasutajaarv%10 == 0:
        break

print 'Jagus! Programm lõpetab!'

Skript väljastab esmalt argumentide arvu ja argumendid (iga argument eraldi real)

#!/usr/bin/python
# -*- coding: utf-8 -*-
#loo skript, mis saab käsurealt 0..n argumenti
#skript väljastab esmalt argumentide arvu ja argumendid (iga argument eraldi real)

import sys

print 'argumentide arv:', len(sys.argv)

for i in sys.argv:
     print "Argument: ", i

Pythoni programm, mis väljastab ainult paaritud argumendid

#!/usr/bin/python
# -*- coding: utf-8 -*-
#Loo skript mis saab käsurealt 0..n argumenti
#väljastab kõik paaritud argumendid (iga argument eraldi real)

import sys

for i in sys.argv[1:]:
    if int(i)%2 == 0:
        pass
    else:
        print 'Paaritu argument: ', i

Pythoni programm, mis kirjutab faili, kus on 1000 rida ja igal real on juhuarv 1..1000

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

import random
fo = open("fail.txt", 'w')

for x in range(1, 1001):
	ran=str(random.randrange(1,1000+1))	
	fo.write(ran+'\n')

fo.close()

Skript sorteerib fail.txt-s olevad numbrid ja väljastab uute faili

#!/usr/bin/python
# -*- coding: utf-8 -*-
#Skript sorteerib fail.txt-s olevad numbrid ja väljastab 
# uute faili

fo = open("fail.txt", "r" )
fo2 = open("sorteeritud.txt", 'w')

lines = fo.readlines()
results = map(int, lines)

results.sort()

for item in results:
  fo2.write("%s\n" % item)

fo.close()
fo2.close()

Skript sorteerib fail.txt-s olevad numbrid ja väljastab uute faili

#!/usr/bin/python
# -*- coding: utf-8 -*-
#Skript sorteerib fail.txt-s olevad numbrid ja väljastab 
# uute faili
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys

f = open(sys.argv[1], 'r')
lines = f.readlines()
lines.sort(key = int)


f = open('uusfail3.txt', 'w')
for number in lines:
	f.write(number)
f.close


Skript sorteerib fail.txt-s olevad numbrid ja väljastab ainult unikaalsed numbrid

#!/usr/bin/python
# -*- coding: utf-8 -*-
#Skript sorteerib fail.txt-s olevad numbrid ja väljastab ainult
# unikaalsed numbrid

fo = open("fail.txt", "r" )
fo2 = open("unikaalsed.txt", 'w')

lines = fo.readlines()
results = map(int, lines)

results2 = list(set(results))
results2.sort()

for item in results2:
  fo2.write("%s\n" % item)

fo.close()
fo2.close()

Skript, mis tagastab käsurealt etteantud kasutaja UID

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

import sys
from pwd import getpwnam
print getpwnam(sys.argv[1]).pw_uid

Skript, mis väljastan NxN ühikmaatriksi

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Väljastab NxN ühikmaatriksi

import sys
import numpy as np

n = float(sys.argv[1])

print np.identity(n)

Skript loeb etteantud teksti failist ridade, sõnade ja tähemärkide arvu

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Skript loeb etteantud teksti failist ridade, sõnade ja tähemärkide arvu
from sys import argv

if len(argv) < 2:
    print "Sa ei sisestanud ühtegi argumenti, mida kontrollida"
    exit(1)
    
fh=open(argv[1])
read = fh.readlines()

sonad = 0
tahed = 0
for rida in read:
    tahed = tahed + len(rida)
    sonad = sonad + len(rida.split())

print "Ridu:" , len(read)
print "Sonu:" , sonad
print "Tähti:" , tahed

fh.close()

Skript loeb etteantud teksti failist ridade, sõnade ja tähemärkide arvu

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Tee skript, mis leiab käsurealt etteantud tekstifaili
# ridade arvu, tähtede arvu ja sõnade arvu ja väljastab ekraanile

import sys

f = open(sys.argv[1], "r" )

lines = f.readlines()
count = 0
sonad = 0


for i in range(0,len(lines)):
    count = count + len(lines[i])
    sonad = sonad + len(lines[i].split(" "))
    
print "Ridu:", len(lines)
print "Tähemärke:", count
print "Sõnu:", sonad

f.close()

Skript kirjutab tekstifaili 100 rida rea numbrite ja random sisuga, komadega eraldatult

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Tee skript, mis kirjutab komadega eraldatud tekstifaili 100 rida, igas reas järgnev info:
# rea nr, random nr 1..100, random märk pikkusega 0..32

import sys
import random
import string

f = open(sys.argv[1], "w" )

for i in range(1, 101):
    ran=str(random.randrange(1,100+1))	
    f.write(str(i)+',')
    f.write(ran+',')
    for j in range(1,random.randrange(1,32+1)):
        f.write(random.choice(string.ascii_letters))
    f.write('\n')
 
f.close()

Skript kirjutab ette antud faili 100 rida. Igal real on rea number, suvaline number 1 ja 100 vahel ja suvaline tähemärk, mis on komadega eraldatud

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Skript kirjutab ette antud faili 100 rida. Igal real on rea number, suvaline number 1 ja 100 vahel ja suvaline tähemärk, mis on komadega eraldatud
from sys import argv
from random import randint
import random
letters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

if len(argv) < 2:
    print "Sa ei sisestanud ühtegi argumenti, mida kontrollida"
    exit(1)
    
fh=open(argv[1], "w")

sonad = 0
tahed = 0
for rida in range(100):
    fh.write(str(rida+1) + "," + str(randint(1, 101)) + "," + random.choice(letters) + "\n")
    
fh.close()

Skript saadab meili kasutades smtplib teeki ning on praktiliselt identne StackOverflow lehel asuva koodiga, mille leiab sõnumi sisust.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Üllar Seerme, A21
# 25.03.14
import smtplib

FROM = ""
TO = [""]

SUBJECT = "Hello World!"
TEXT = "Greetings from http://stackoverflow.com/questions/6270782/sending-email-with-python"

MESSAGE = """\
From: %s
To: %s
Subject: %s

%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)

server = smtplib.SMTP("mail.itcollege.ee")
server.sendmail(FROM, TO, MESSAGE)
server.quit()

skript saadab meili kasutades smtplib teeki. Süntaksi sain tutorialspoint.com dokumentatsioonidest.

#!/usr/bin/python
#A21 Juri Kononov Ilma autentimist meili saatmine
import smtplib

smtplib.SMTP('mail.itcollege.ee').sendmail('kellelt@itcollege.ee', 'kellele@itcollege.ee', "emaili sisu")


#!/usr/bin/python
# -*- coding: utf-8 -*-
# Autor: Karl-Martin Karlson
# Rühm: A21
# Skript saadab enda sisu valitud meili aadressile

import smtplib

with open(__file__) as f:
    msg = f.read()

print "Message length is " + repr(len(msg))


server = smtplib.SMTP("172.16.0.160", 25)
server.sendmail("saatja@itcollege.ee", "saaja@itcollege.ee", msg)
server.quit()
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Skript läheb ette antud veebilehele ning kopeerib
# kõik leitud URlid lingid.txt faili

import urllib2
import re
import sys

if len(sys.argv) != 2:
    print("Argumentide arv on vale!")
    print("Kasuta programmi", sys.argv[0], "sisendfail")
    sys.exit(1)
    
url = sys.argv[1]
f = open('lingid.txt','w')

page = urllib2.urlopen(url)
page = page.read()
links = re.findall(r"<a.*?\s*href=\"(.*?)\".*?>(.*?)</a>", page)

for link in links:
    f.write('%s \n' % (link[0]))

f.close()


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Johannes Tammekänd - A22 - 25.03.14
# Leiab etteantud URL'i lähtekoodist kõik lingid.

import urllib2
import sys

if len(sys.argv) != 2:
  print "Argumentide arv on vale!"
  print "Kasuta programmi ", sys.argv[0], "http://www.veebiaadress.com"
  sys.exit(1)


from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen(sys.argv[1])
soup = BeautifulSoup(page.read())
links = soup.findAll("a")
for link in links:
    print link["href"]


#!/usr/bin/python
# -*- coding: utf-8 -*-
# Imre Lebedev - A22 - 08.04.2014
# Võtab sisendfailiks logifaili ja kirjutab logifaili väljudnisse järgmiselt
# Et logifaili ajad hakkaks enda aega lugema esimese logirea järgi
import sys
import re
import datetime

if len(sys.argv) != 2:
    print("Argumentide arv on vale!")
    print("Kasuta programmi", sys.argv[0], "sisendfail")
    sys.exit(1)

try:
    fh = open('/home/valjunddomeen.txt','w')
except IOError:
    print "Väljundfail on juba olemas või ei ole sinna võimalik kirjutada"
    sys.exit(1)

try:
    f = open(sys.argv[1],'r')
except IOError:
    print "Sisendfail puudub või ei ole piisavalt õigusi selle avamiseks"
    sys.exit(1)

for line in f:
    try:
        info=line.split("@")[1]
        fh.write(info)
    except IOError:
        print "Faili sisse ei õnnestu kirjutada"
f.close()


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Johannes Tammekänd, A22
# Skript, mis loeb sisendfailist emailid ja väljundfaili kirjutab emaili domeenid.

import sys

if len(sys.argv) != 3:
	print "Argumentide arv on vale!"
	print "Kasuta programmi ", sys.argv[0], "Sisendfail Väljundfail"
	sys.exit(1)

try:
	input_file = open(sys.argv[1], 'r')
except IOError: 
	print "Sisendfaili ei saa avada."

try:
	output_file = open(sys.argv[2], 'w')
except IOError:
	print "Väljundfaili ei saa kirjutada."

for line in input_file.readlines():
	print line
	line = line.split("@")[1]
	output_file.write(line)


#!/usr/bin/python
#  -*- coding: utf-8 -*-
# Autor Karl Männil
# Programm kontrollib kas on võimalik avada käsurealt sisestatud parameetrite nimelisi faile
from __future__ import print_function
from __future__ import unicode_literals

import sys

# Kontrollime kas programmil on piisavalt argumente (vaja on kolme aga programm ise on ka parameeter)
# Vajadusel pahandame kasutajaga ning õpetame teda!
if len(sys.argv) != 4:
    print("Kasuta programmi vähemalt kolme parameetriga")
    sys.exit(1)
print("Programm lõpetas töö")

# Proovime kas saame avada faili mis sisestati esimese parameetrina (tegelikult parameeter 2), kirjutame ka staatuse
try:
    fh = open(sys.argv[1],'r')
    print ("Faili nimega ", sys.argv[1], "saab avada")
except IOError:
    print("Sisendfaili ei saa avada")

# Proovime kas saame avada faili mis sisestati teise parameetrina (tegelikult parameeter 3), kirjutame ka staatuse
try:
    fh = open(sys.argv[2],'r')
    print ("Faili nimega ", sys.argv[2], "saab avada")
except IOError:
    print("Sisendfaili ei saa avada")

# Proovime kas saame avada faili mis sisestati kolmanda parameetrina (tegelikult parameeter 4), kirjutame ka staatuse
try:
    fh = open(sys.argv[3],'r')
    print ("Faili nimega ", sys.argv[3], "saab avada")
except IOError:
    print("Sisendfaili ei saa avada")
#!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import print_function
from __future__ import unicode_literals

import sys
import urllib2
import time


if len(sys.argv) != 3:
    print("Vale argumentide arv!")
    sys.exit(1)
#ava väljundfail kirjutamiseks argument 3
try:
    fhw = open(sys.argv[2], 'w')

except IOError:
    print("Väljundfaili avamine ebaõnnestus!")
    sys.exit(2)



try:
    fhr = open(sys.argv[1], 'r')
    for line in fhr.readlines():
        a_line = line.split(",")
        try:
            u = urllib2.urlopen(a_line[0])
        except Exception:
            print(a_line[0], "URL avamine ebaõnnestus")
        sisu=u.read()
        arv=sisu.count(a_line[1].strip())
        if arv > 0:
            tekst = "URL: "
            tekst += str(a_line[0])
            tekst += " Fraas: "
            tekst += str(a_line[1].strip())
            tekst += " "
            tekst += time.strftime("%Y-%m-%d %H:%M:%S")
            tekst += " OK"
            tekst += "\n"
            # noinspection PyTypeChecker
            fhw.write(tekst)
        else:
            tekst="URL: "
            tekst+=str(a_line[0])
            tekst+=" Fraas: "
            tekst+=str(a_line[1].strip())
            tekst += " "
            tekst += time.strftime("%Y-%m-%d %H:%M:%S")
            tekst+=" NOTOK"
            tekst+="\n"
            fhw.write(tekst)


except IOError:
    print("Sisendfaili ei saanud avada")
    sys.exit(1)