Python tunnis tehtud näited: Difference between revisions
No edit summary |
No edit summary |
||
(25 intermediate revisions by 12 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 251: | Line 444: | ||
f.close() | 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 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) | |||
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) | |||
</source> | </source> |
Latest revision as of 10: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)