Sep 20-24, 2021 Vikrant Patil
These notes are available online at https://notes.pipal.in/2021/arcesium_finop_batch2/
© Pipal Academy LLP
Day 1 | Day 2 | Day 3 | Day 4 | Day 5
We will be using jupyter hub from https://lab2.pipal.in for this training.
login to hub and create a notebook with name module1-day5
import os
os.getcwd() # gives current working directory
'/home/vikrant/trainings/2021/arcesium_finop_batch2'
os.listdir() # it gives listing (files/folders) from current working directory
['index.html', 'module1-day5.html', 'push', 'module1-day5.ipynb', 'Untitled.html', 'index.ipynb', 'module1-day1.html', 'module1-day1.ipynb', 'module1-day2.ipynb', 'module1-day3.html', 'module1-day2.html', 'module1-day3.ipynb', 'module1-day4.html', 'Makefile', '.ipynb_checkpoints', 'module1-day4.ipynb']
for file in os.listdir():
print(file, os.path.getsize(file))
index.html 569174 module1-day5.html 572659 push 0 module1-day5.ipynb 2939 Untitled.html 567514 index.ipynb 1391 module1-day1.html 769941 module1-day1.ipynb 77061 module1-day2.ipynb 62287 module1-day3.html 704685 module1-day2.html 739098 module1-day3.ipynb 49769 module1-day4.html 715356 Makefile 627 .ipynb_checkpoints 4096 module1-day4.ipynb 52398
print("fiilename".rjust(20), "size in bytes")
for file in os.listdir():
print(file.rjust(20), os.path.getsize(file))
fiilename size in bytes
index.html 569174
module1-day5.html 572659
push 0
module1-day5.ipynb 2939
Untitled.html 567514
index.ipynb 1391
module1-day1.html 769941
module1-day1.ipynb 77061
module1-day2.ipynb 62287
module1-day3.html 704685
module1-day2.html 739098
module1-day3.ipynb 49769
module1-day4.html 715356
Makefile 627
.ipynb_checkpoints 4096
module1-day4.ipynb 52398
os.listdir("/etc/ssh/") # you can find listing from any directory if complete or absolute path is given
['ssh_host_ed25519_key', 'ssh_host_rsa_key.pub', 'ssh_host_ecdsa_key.pub', 'ssh_config.d', 'ssh_host_ecdsa_key', 'sshd_config', 'ssh_host_ed25519_key.pub', 'ssh_host_rsa_key', 'ssh_import_id', 'moduli', 'ssh_config', 'sshd_config.d']
os.getcwd()
'/home/vikrant/trainings/2021/arcesium_finop_batch2'
os.listdir("../") # relative to current working directory
['arcesium_finop_batch2', 'pccoe-python-ml', 'arcesium_finop_batch1']
os.path.exists("module1-day1.ipynb")
True
os.path.isfile("module1-day1.ipynb")
True
os.path.isfile("ssh_config")
False
os.path.isdir("ssh_config")
False
os.path.sep # path sepearator
'/'
os.path.sep.join(["","home","vikrant","trainings/2021"])
'/home/vikrant/trainings/2021'
"/".join(["","home","vikrant","trainings/2021"]) # never use such statements!
'/home/vikrant/trainings/2021'
"\\".join(["","home","vikrant","trainings/2021"])# never use such statements!
'\\home\\vikrant\\trainings/2021'
os.path.sep.join(["","home","vikrant","trainings/2021"])
'/home/vikrant/trainings/2021'
os.path.join("","home", "vikrant", "trainings", "2021")
'home/vikrant/trainings/2021'
os.listdir() # it shows contents of given/current directory only at one level. it is not recursive
['index.html', 'module1-day5.html', 'push', 'module1-day5.ipynb', 'Untitled.html', 'index.ipynb', 'module1-day1.html', 'module1-day1.ipynb', 'module1-day2.ipynb', 'module1-day3.html', 'module1-day2.html', 'module1-day3.ipynb', 'module1-day4.html', 'Makefile', '.ipynb_checkpoints', 'module1-day4.ipynb']
def find_ipynb_files(path):
files = os.listdir(path)
ipynb = []
for file in files:
if file.endswith(".ipynb"):
ipynb.append(file)
return ipynb
cwd = os.getcwd()
tokens = cwd.split(os.path.sep)[:-1] # drop last item
parent_dir = os.path.sep.join(tokens)
find_ipynb_files(parent_dir)
[]
+ parent
+ pccoe..
+ arcesium_finop_batch1
+ arcesium_finop_batch2
- index.ipynb
- module1-day1.ipynb
.
.
.
range(5)
range(0, 5)
os.walk(parent_dir)
<generator object walk at 0x7fa58d2d4120>
for item in os.walk(parent_dir):
print(item)
break # stop for loop
('/home/vikrant/trainings/2021', ['arcesium_finop_batch2', 'pccoe-python-ml', 'arcesium_finop_batch1'], [])
x, y, z = (1, 2, 3)
path, dirs, files = ('/home/vikrant/trainings/2021', ['arcesium_finop_batch2', 'pccoe-python-ml', 'arcesium_finop_batch1'], [])
path
'/home/vikrant/trainings/2021'
dirs
['arcesium_finop_batch2', 'pccoe-python-ml', 'arcesium_finop_batch1']
files
[]
def find_ipynb_recursively(dirpath):
for path, dirs, files in os.walk(dirpath): # walk over directory recursively
for f in files:
if f.endswith(".ipynb"):
print(os.path.join(path, f))
find_ipynb_recursively(parent_dir)
/home/vikrant/trainings/2021/arcesium_finop_batch2/module1-day5.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/index.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/module1-day4.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/.ipynb_checkpoints/module1-day4-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/.ipynb_checkpoints/index-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/.ipynb_checkpoints/module1-day2-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/.ipynb_checkpoints/module1-day3-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/.ipynb_checkpoints/module1-day5-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch2/.ipynb_checkpoints/module1-day1-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture6-Comprehensions-1.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture9-Functions2.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture10-Modules-and-Scripts.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture2-Quick_Tour.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/sample.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture13-Files.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture4-Working_With_Data.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture1-Fundamental_ideas_of_programming.ipynb.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/index.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture8-Functions.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture7-Recap.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture11-Modules-and-Scripts2.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture5-Comprehensions.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture3-Quick_Tour.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/Lecture12-String-Formating.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture5-Comprehensions-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture3-Quick_Tour-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture7-Recap-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture12-String-Formating-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture1-Fundamental_ideas_of_programming.ipynb-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/sample-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/index-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture4-Working_With_Data-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture2-Quick_Tour-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture11-Modules-and-Scripts2-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture13-Files-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture8-Functions-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture10-Modules-and-Scripts-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture9-Functions2-checkpoint.ipynb /home/vikrant/trainings/2021/pccoe-python-ml/.ipynb_checkpoints/Lecture6-Comprehensions-1-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/module1-day5.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/problems-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/index.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/problems-day4.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/module1-assignment.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/module1-day4.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/problems-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/anand/Untitled.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/vikrant/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/vikrant/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/vikrant/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/rashleen_arora/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/rashleen_arora/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/rashleen_arora/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/vikalp/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/vikalp/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/vikalp/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/tiwary/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/tiwary/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/tiwary/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/divyesh_dave/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/divyesh_dave/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/divyesh_dave/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/baldawa/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/baldawa/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/baldawa/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/pandepra/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/pandepra/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/pandepra/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/selvakum/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/selvakum/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/selvakum/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/bhandaso/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/bhandaso/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/bhandaso/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/joshir/Module1-Day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/joshir/Module1-Day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/joshir/Module1-Day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/kediar/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/kediar/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/kediar/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/srujan/module1-Day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/srujan/module1-Day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/srujan/module1-Day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/yash_modi/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/yash_modi/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/yash_modi/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/aritra_bakshi/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/aritra_bakshi/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/aritra_bakshi/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/abraham/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/abraham/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/abraham/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/snigdha_sabharwal/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/snigdha_sabharwal/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/snigdha_sabharwal/modeule1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/venkatba/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/venkatba/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/amaya_kak/module1-day1.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/amaya_kak/module1-day2.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/backup/pipalhub/home/amaya_kak/module1-day3.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/.ipynb_checkpoints/module1-day4-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/.ipynb_checkpoints/problems-day2-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/.ipynb_checkpoints/index-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/.ipynb_checkpoints/module1-day2-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/.ipynb_checkpoints/module1-assignment-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/.ipynb_checkpoints/problems-day4-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/.ipynb_checkpoints/module1-day3-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/.ipynb_checkpoints/module1-day5-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/.ipynb_checkpoints/problems-day3-checkpoint.ipynb /home/vikrant/trainings/2021/arcesium_finop_batch1/.ipynb_checkpoints/module1-day1-checkpoint.ipynb
def find_ipynb_files(path=None): # default argument
if path==None:
path = os.getcwd()
files = os.listdir(path)
ipynb = []
for file in files:
if file.endswith(".ipynb"):
ipynb.append(file)
return ipynb
find_ipynb_files() # if you call withut passing path argument .. it will take whatever is specified as default
['module1-day5.ipynb', 'index.ipynb', 'module1-day1.ipynb', 'module1-day2.ipynb', 'module1-day3.ipynb', 'module1-day4.ipynb']
find_ipynb_files("/etc/ssh/")
[]
problems
longlistdir which prints filename/direcory name in given folder, such that for every directory/folder it prints d before the name and for every file it prints char f
>>> longlistdir(os.getcwd())
f index.html
f index.ipynb
d .ipynb_checkpoints
.
.
.
Write a function findfiles which find files with given extension , resursively.
>>> findfiles(path, ".ipynb")
['module1-day5.ipynb',
'index.ipynb',
'module1-day1.ipynb',
'module1-day2.ipynb',
'module1-day3.ipynb',
'module1-day4.ipynb']
Find largest file in your current working directory by making use of max!
def say_hello(name): # parameters in definition of a function has to be names..variables..can not be literals
print("Hello", name)
say_hello("bhanupratap")
Hello bhanupratap
def say_hello("bhanuratap"): # literal is not allowed in definition
print("hello")
File "<ipython-input-53-8cee2fd3e001>", line 1 def say_hello("bhanuratap"): # literal is not allowed in definition ^ SyntaxError: invalid syntax
!ls # linux command
index.html module1-day1.ipynb module1-day3.ipynb module1-day5.ipynb index.ipynb module1-day2.html module1-day4.html push Makefile module1-day2.ipynb module1-day4.ipynb Untitled.html module1-day1.html module1-day3.html module1-day5.html
!ls -la
total 4888 drwxrwxr-x 3 vikrant vikrant 4096 Sep 24 10:55 . drwxrwxr-x 5 vikrant vikrant 4096 Sep 20 10:02 .. -rw-rw-r-- 1 vikrant vikrant 569174 Sep 24 10:02 index.html -rw-rw-r-- 1 vikrant vikrant 1391 Sep 24 10:02 index.ipynb drwxrwxr-x 2 vikrant vikrant 4096 Sep 24 10:01 .ipynb_checkpoints -rwxr-xr-x 1 vikrant vikrant 627 Sep 20 10:02 Makefile -rw-rw-r-- 1 vikrant vikrant 769941 Sep 20 13:34 module1-day1.html -rw-rw-r-- 1 vikrant vikrant 77061 Sep 20 13:34 module1-day1.ipynb -rw-rw-r-- 1 vikrant vikrant 739098 Sep 21 12:11 module1-day2.html -rw-rw-r-- 1 vikrant vikrant 62287 Sep 21 12:11 module1-day2.ipynb -rw-rw-r-- 1 vikrant vikrant 704685 Sep 23 10:10 module1-day3.html -rw-rw-r-- 1 vikrant vikrant 49769 Sep 23 10:10 module1-day3.ipynb -rw-rw-r-- 1 vikrant vikrant 715356 Sep 23 13:35 module1-day4.html -rw-rw-r-- 1 vikrant vikrant 52398 Sep 23 13:35 module1-day4.ipynb -rw-rw-r-- 1 vikrant vikrant 625153 Sep 24 10:47 module1-day5.html -rw-rw-r-- 1 vikrant vikrant 32573 Sep 24 10:55 module1-day5.ipynb -rw-rw-r-- 1 vikrant vikrant 0 Sep 24 10:47 push -rw-rw-r-- 1 vikrant vikrant 567514 Sep 24 10:00 Untitled.html
longlistdir(".")
f index.html
f index.ipynb
f Makefile
.
.
d .ipynb_checkpoints
def longlistdir(path):
listings = os.listdir(path)
for f in listings:
if os.path.isfile(f):
print("f", f)
else:
print("d", f)
longlistdir(".")
f index.html f module1-day5.html f push f module1-day5.ipynb f Untitled.html f index.ipynb f module1-day1.html f module1-day1.ipynb f module1-day2.ipynb f module1-day3.html f module1-day2.html f module1-day3.ipynb f module1-day4.html f Makefile d .ipynb_checkpoints f module1-day4.ipynb
def longlistdir(path=None):
if path==None:
path = os.getcwd()
listings = os.listdir(path)
for f in listings:
if os.path.isfile(f):
print("f", f)
else:
print("d", f)
longlistdir()
f index.html f module1-day5.html f push f module1-day5.ipynb f Untitled.html f index.ipynb f module1-day1.html f module1-day1.ipynb f module1-day2.ipynb f module1-day3.html f module1-day2.html f module1-day3.ipynb f module1-day4.html f Makefile d .ipynb_checkpoints f module1-day4.ipynb
longlistdir("/etc/ssh")
d ssh_host_ed25519_key d ssh_host_rsa_key.pub d ssh_host_ecdsa_key.pub d ssh_config.d d ssh_host_ecdsa_key d sshd_config d ssh_host_ed25519_key.pub d ssh_host_rsa_key d ssh_import_id d moduli d ssh_config d sshd_config.d
filename = "xyx.txt"
size = 1000
del (filename, size)
filename
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-68-0ee53525f0e4> in <module> ----> 1 filename NameError: name 'filename' is not defined
walkdir = os.walk(".")
next(walkdir)
('.',
['.ipynb_checkpoints'],
['index.html',
'module1-day5.html',
'push',
'module1-day5.ipynb',
'Untitled.html',
'index.ipynb',
'module1-day1.html',
'module1-day1.ipynb',
'module1-day2.ipynb',
'module1-day3.html',
'module1-day2.html',
'module1-day3.ipynb',
'module1-day4.html',
'Makefile',
'module1-day4.ipynb'])
ext = ".ipynb"
for path, dirs, files in os.walk("."):
for f in files:
if f.endswith(ext):
print(f)
module1-day5.ipynb index.ipynb module1-day1.ipynb module1-day2.ipynb module1-day3.ipynb module1-day4.ipynb module1-day4-checkpoint.ipynb index-checkpoint.ipynb module1-day2-checkpoint.ipynb module1-day3-checkpoint.ipynb module1-day5-checkpoint.ipynb module1-day1-checkpoint.ipynb
def add(2, 3): # will not work, here it should have some names not values..literals
return 2+3
File "<ipython-input-72-f599f97e321b>", line 1 def add(2, 3): # will not work, here it should have some names not values..literals ^ SyntaxError: invalid syntax
def add(a, b):
return a + b
add(a, b) # either a and b have to variables .. or it can be literal
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-75-da0d469dba56> in <module> ----> 1 add(a, b) # either a and b have to variables .. or it can be literal NameError: name 'a' is not defined
add(2, 3)
5
def say_hello(name):
print("Hello", name)
say_hello(vikrant) # quotes are missing!
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-79-ac5d9bc525a0> in <module> ----> 1 say_hello(vikrant) # quotes are missing! NameError: name 'vikrant' is not defined
!ls -l .bash_logout
ls: cannot access '.bash_logout': No such file or directory
+ parent
+ pccoe..
+ arcesium_finop_batch1 parent/arcesium_finop_batch1/, [folder1, folder2], [file1.txt]
- file1.txt
+ folder1 parent/arcesium_finop_batch1/folder1, [], []
+ folder2 parent/arcesium_finop_batch1/folder2, [], [hello.txt]
- hello.txt
+ arcesium_finop_batch2 parent/arcesium_finop_batch2/, [.ipynb_checkpoints], [index.html, index.ipynb, .....]
- index.ipynb
- module1-day1.ipynb
.
.
.
max(["one", "two", "three"])
'two'
os.listdir()
['index.html', 'module1-day5.html', 'push', 'module1-day5.ipynb', 'Untitled.html', 'index.ipynb', 'module1-day1.html', 'module1-day1.ipynb', 'module1-day2.ipynb', 'module1-day3.html', 'module1-day2.html', 'module1-day3.ipynb', 'module1-day4.html', 'Makefile', '.ipynb_checkpoints', 'module1-day4.ipynb']
max(os.listdir()) # dictionary order
'push'
max(os.listdir(), key=len) # a file with longest name
'module1-day5.ipynb'
max(os.listdir(), key=os.path.getsize)
'module1-day1.html'
def findfiles(dirpath=None, extn=".ipynb"):
extn_files = []
for path, dirs, files in os.walk(dirpath):
for f in files:
if f.endswith(extn):
extn_files.append(os.path.join(path, f))
return extn_files
findfiles(".", ".html")
['./index.html', './module1-day5.html', './Untitled.html', './module1-day1.html', './module1-day3.html', './module1-day2.html', './module1-day4.html']
findfiles("../", ".html")
['../arcesium_finop_batch2/index.html', '../arcesium_finop_batch2/module1-day5.html', '../arcesium_finop_batch2/Untitled.html', '../arcesium_finop_batch2/module1-day1.html', '../arcesium_finop_batch2/module1-day3.html', '../arcesium_finop_batch2/module1-day2.html', '../arcesium_finop_batch2/module1-day4.html', '../pccoe-python-ml/index.html', '../pccoe-python-ml/Lecture10-Modules-and-Scripts.html', '../pccoe-python-ml/sample.html', '../pccoe-python-ml/Lecture13-Files.html', '../pccoe-python-ml/Welcome.html', '../pccoe-python-ml/Lecture11-Modules-and-Scripts2.html', '../pccoe-python-ml/Lecture4-Working_With_Data.html', '../pccoe-python-ml/Lecture7-Recap.html', '../pccoe-python-ml/Untitled.html', '../pccoe-python-ml/Lecture5-Comprehensions.html', '../pccoe-python-ml/Modules-and-Scripts.html', '../pccoe-python-ml/Lecture9-Functions2.html', '../pccoe-python-ml/Lecture6-Comprehensions-1.html', '../pccoe-python-ml/test.html', '../pccoe-python-ml/Lecture12-String-Formating.html', '../pccoe-python-ml/Lecture6-Recap.html', '../pccoe-python-ml/Letcure12-String-Formating.html', '../pccoe-python-ml/Lecture1-Fundamental_ideas_of_programming.ipynb.html', '../pccoe-python-ml/Lecture8-Functions.html', '../pccoe-python-ml/Lecture2-Quick_Tour.html', '../pccoe-python-ml/Lecture3-Quick_Tour.html', '../pccoe-python-ml/.ipynb_checkpoints/test-checkpoint.html', '../pccoe-python-ml/.ipynb_checkpoints/Welcome-checkpoint.html', '../pccoe-python-ml/.ipynb_checkpoints/Letcure12-String-Formating-checkpoint.html', '../arcesium_finop_batch1/index.html', '../arcesium_finop_batch1/problems-day4.html', '../arcesium_finop_batch1/module1-day5.html', '../arcesium_finop_batch1/problems-day2.html', '../arcesium_finop_batch1/Untitled.html', '../arcesium_finop_batch1/problems-day3.html', '../arcesium_finop_batch1/module1-day1.html', '../arcesium_finop_batch1/module1-day3.html', '../arcesium_finop_batch1/module1-day2.html', '../arcesium_finop_batch1/module1-assignment.html', '../arcesium_finop_batch1/module1-day4.html', '../arcesium_finop_batch1/.ipynb_checkpoints/problems-day3-checkpoint.html']
%%file mymodule.py
def say_hello(name):
print("Hello", name.capitalize())
def welcome(name):
print("Welcome", name.capitalize())
Writing mymodule.py
import mymodule
mymodule.say_hello("vikrant")
Hello Vikrant
mymodule.welcome("vikrant")
Welcome Vikrant
%%file mymodule.py
def say_hello(name):
print("Hello", name.capitalize())
def welcome(name):
print("Welcome", name.capitalize())
def one_more_function(x):
print(x)
Overwriting mymodule.py
import mymodule # it is not effective ..beacause module is already imported!
mymodule.one_more_function(5)
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-97-27df2fbd04ea> in <module> ----> 1 mymodule.one_more_function(5) AttributeError: module 'mymodule' has no attribute 'one_more_function'
%%file mymodule1.py
def say_hello(name):
print("Hello", name.capitalize())
def welcome(name):
print("Welcome", name.capitalize())
def one_more_function(x):
print(x)
Writing mymodule1.py
import mymodule1
mymodule1.one_more_function("hksahdkjsah")
hksahdkjsah
%%file square.py
"""This is documentation for square module
"""
def square(x):
"""computes square of a number
"""
return x*x
Writing square.py
!python square.py # this will not print anything
%%file square.py
"""This is documentation for square module
"""
def square(x):
"""computes square of a number
"""
return x*x
square(5) # will just compute ..but will not print
Overwriting square.py
!python square.py
%%file square.py
"""This is documentation for square module
"""
def square(x):
"""computes square of a number
"""
return x*x
print(square(5)) #
Overwriting square.py
!python3 square.py
Traceback (most recent call last):
File "square.py", line 10, in <module>
print(square(int(sys.argv[1]))) # just makeing use sys.argv[1] ..will not work because it is string
IndexError: list index out of range
!python3 square.py 8
64
%%file square.py
"""This is documentation for square module
"""
import sys
def square(x):
"""computes square of a number
"""
return x*x
print(sys.argv) # special variable in which python populated command line arguments
#print(square(5)) #
Overwriting square.py
!python3 square.py 8
64
!python3 square.py 10
100
!python3 square.py 10 767 more arguments
100
%%file square.py
"""This is documentation for square module
"""
import sys
def square(x):
"""computes square of a number
"""
return x*x
print(sys.argv) # special variable in which python populated command line arguments
print(square(sys.argv[1])) # just makeing use sys.argv[1] ..will not work because it is string
Overwriting square.py
!python3 square.py 8
64
%%file square.py
"""This is documentation for square module
"""
import sys
def square(x):
"""computes square of a number
"""
return x*x
print(sys.argv) # special variable in which python populated command line arguments
print(square(int(sys.argv[1]))) # just makeing use sys.argv[1] ..will not work because it is string
Overwriting square.py
!python3 square.py 9
81
%%file square.py
"""This is documentation for square module
"""
import sys
def square(x):
"""computes square of a number
"""
return x*x
print(square(int(sys.argv[1]))) # just makeing use sys.argv[1] ..will not work because it is string
Overwriting square.py
!python3 square.py 76
5776
%%file add.py
import sys
def add(nums):
return sum(nums)
def toint(snums):
nums = []
for sn in snums:
nums.append(int(sn))
return nums
nums = toint(sys.argv[1:]) # first item is program/script name
print(add(nums))
Writing add.py
!python3 add.py 1 2 3 4 5
15
!python3 add.py 1 2 3
6
import add # we will fix this in next part of training
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-138-1c3599cbdc78> in <module> ----> 1 import add # we will fix this in next part of training ~/trainings/2021/arcesium_finop_batch2/add.py in <module> 12 return nums 13 ---> 14 nums = toint(sys.argv[1:]) # first item is program/script name 15 print(add(nums)) ~/trainings/2021/arcesium_finop_batch2/add.py in toint(snums) 8 nums = [] 9 for sn in snums: ---> 10 nums.append(int(sn)) 11 12 return nums ValueError: invalid literal for int() with base 10: '-f'