Skip to content

Commit 2610d1b

Browse files
committed
2,3,4 for ch4
1 parent 180fe72 commit 2610d1b

File tree

4 files changed

+69
-2
lines changed

4 files changed

+69
-2
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
def fib_generator():
2+
a, b = 0, 1
3+
while True:
4+
yield b
5+
a, b = b, a+b
6+
7+
if __name__ == '__main__':
8+
fib = fib_generator()
9+
print(next(fib))
10+
print(next(fib))
11+
print(next(fib))
12+
print(next(fib))
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import sys
2+
3+
def grep_word_from_files():
4+
word = sys.argv[1]
5+
for filename in sys.argv[2:]:
6+
with open(filename) as file:
7+
for lino, line in enumerate(file, start=1):
8+
if word in line:
9+
print("{0}:{1}:{2:.40}".format(filename, lino, line.rstrip()))
10+
11+
if __name__ == '__main__':
12+
if len(sys.argv) < 2:
13+
print("Usage: grep_word_from_files.py word infile1 [infile2...]")
14+
sys.exit()
15+
else:
16+
grep_word_from_files()
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import os
2+
import sys
3+
4+
def read_data(filename):
5+
lines = []
6+
fh = None
7+
try:
8+
fh = open(filename)
9+
for line in fh:
10+
if line.strip():
11+
lines.append(line)
12+
except (IOError, OSError) as err:
13+
print(err)
14+
finally:
15+
if fh is not None:
16+
fh.close()
17+
return lines
18+
19+
def write_data(lines, filename):
20+
fh = None
21+
try:
22+
fh = open(filename, "w")
23+
for line in lines:
24+
fh.write(line)
25+
except (EnvironmentError) as err:
26+
print(err)
27+
finally:
28+
if fh is not None:
29+
fh.close()
30+
31+
def remove_blank_lines():
32+
if len(sys.argv) < 2:
33+
print ("Usage: noblank.py infile1 [infile2...]")
34+
35+
for filename in sys.argv[1:]:
36+
lines = read_data(filename)
37+
if lines:
38+
write_data(lines, filename)
39+
40+
if __name__ == '__main__':
41+
remove_blank_lines()

4장_구조와_모듈/hello.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
hello = "hello"
2-
32
def world():
43
return "world"
5-
64
if __name__ == '__main__':
75
print(f"{__name__} 직접 실행됨.")
86
else:

0 commit comments

Comments
 (0)