#Ashley Faulkner
#10/29/2021
#U2M4A4.2
#learning .readlines and .close() methods
# [ ] Run to download file to notebook
!curl https://raw.githubusercontent.com/MicrosoftLearning/intropython/master/poem1.txt -o poem1.txt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 56 100 56 0 0 4000 0 --:--:-- --:--:-- --:--:-- 4000
# [ ] review and run example
# open address to file
poem1 = open('poem1.txt', 'r')
# readlines and print as a list
poem_lines = poem1.readlines()
poem_lines
# [ ] review and run example
for line in poem_lines:
print(line)
Loops I repeat
loops
loops
loops
I repeat
until I
break
# [ ] import cities
!curl https://raw.githubusercontent.com/MicrosoftLearning/intropython/master/cities -o cities.txt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 56 100 56 0 0 5600 0 --:--:-- --:--:-- --:--:-- 5600
# [ ] open cities.txt as cities_file and read the file as a list: cities_lines
cities_file = open('cities.txt','r')
cities_lines=cities_file.readlines()
# [ ] use list iteration to print each city in cities_lines list
for i in cities_lines:
print(i)
Beijing
Cairo
London
Nairobi
New York City
Sydney
Tokyo
# [ ] review and run examples
# [ ] re-open file and read file as a list of strings
poem1 = open('poem1.txt', 'r')
poem_lines = poem1.readlines()
print(poem_lines)
['Loops I repeat\n', 'loops\n', 'loops\n', 'loops\n', 'I repeat\n', 'until I\n', 'break\n']
# [ ] print each list item
for line in poem_lines:
print(line)
Loops I repeat
loops
loops
loops
I repeat
until I
break
# [ ] remove the last character of each list item, which is "\n"
count = 0
for line in poem_lines:
poem_lines[count] = line[:-1]
count += 1
print(poem_lines)
['Loops I repeat', 'loops', 'loops', 'loops', 'I repeat', 'until I', 'break']
# [ ] print each list item
for line in poem_lines:
print(line)
Loops I repeat
loops
loops
loops
I repeat
until I
break
# [ ] re-open file and read file as a list of strings
# [ ] open cities.txt as cities_file and read the file as a list: cities_lines
cities_file = open('cities.txt','r')
cities_lines
cities_lines=cities_file.readlines()
# [ ] remove the last character, "\n", of each cities_lines list item
count = 0
for line in cities_lines:
cities_lines[count] = line[:-1]
count += 1
print(cities_lines)
['Beijing', 'Cairo', 'London', 'Nairobi', 'New York City', 'Sydney', 'Tokyo']
# [ ] print each list item in cities_lines
for line in cities_lines:
print(line)
Beijing
Cairo
London
Nairobi
New York City
Sydney
Tokyo
# [ ] review and run example: open and readlines of poem1.txt
poem1 = open('poem1.txt', 'r')
# [ ] review and run example: readlines breaks if file is no longer open
poem_lines = poem1.readlines()
print(poem_lines)
['Loops I repeat\n', 'loops\n', 'loops\n', 'loops\n', 'I repeat\n', 'until I\n', 'break\n']
# [ ] review and run example: Close poem1
poem1.close()
# [ ] open cities.txt as cities_file
cities_file=open('cities.txt','r')
# [ ] read the lines as cities_lines
cities_lines=cities_file.readlines()
# [ ] print the cities that start with the letter "D" or greater
for i in cities_lines:
if i.upper() >="D":
print(i)
London
Nairobi
New York City
Sydney
Tokyo
# [ ] test that file is closed
cities_file.close()
# [ ] close cities_file
cities_file
Execution Error
NameError: name 'cities_file' is not defined
# [ ] import https://raw.githubusercontent.com/MicrosoftLearning/intropython/master/poem2.txt as poem2.txt
!curl https://raw.githubusercontent.com/MicrosoftLearning/intropython/master/poem2.txt -o poem2.txt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 57 100 57 0 0 712 0 --:--:-- --:--:-- --:--:-- 712
# [ ] open poem2.txt as poem2_text in read mode
poem2_text=open('poem2.txt','r')
# [ ] create a list of strings, called poem2_lines, from each line of poem2_text
poem2_lines=poem2_text.readlines()
# [ ] remove the newline character for each list item in poem2_lines
count = 0
for line in poem2_lines:
poem2_lines[count] = line[:-1]
count += 1
print(poem2_lines)
['while True', 'I loop', 'True', 'loop', 'True', 'loop', 'not True', 'False', 'end']
# [ ] print the poem2 lines in reverse order
for i in poem2_lines[::]:
print(i)
end
False
not True
loop
True
loop
True
I loop
while True