-
-
Save MichelleDalalJian/341754de0175074cffb59ab3490da032 to your computer and use it in GitHub Desktop.
fhand = open("mbox-short.txt") | |
count = 0 | |
for line in fhand: | |
line = line.rstrip() | |
if line == "": continue | |
words = line.split() | |
if words[0] !="From": continue | |
print(words[1]) | |
count = count+1 | |
print ("There were", count, "lines in the file with From as the first word") |
VinayReddy-Vangala
commented
Feb 13, 2022
via email
line.split() - by default split does not preserve spaces. You dont really need strip() with split().
I would like to ask what is the role of the command below?
if len(fname) < 1:
fname = 'mbox-short.txt'
I think we do not need to specify, but I saw the code example and see that they have these two lines, which I am not sure how useful this is.
fname = input("Enter file name: ")
if len(fname) < 1:
fname = 'mbox-short.txt'
fh = open(fname)
count = 0
for line in fh:
line = line.rstrip()
if not line.startswith('From: ') : continue
words = line.split()
print(words[1])
count = count + 1
print("There were", count, "lines in the file with From as the first word")
HELP: what's wrong with my code? :
fname = input("Enter file name: ") if len(fname) < 1 : fname = "mbox-short.txt" text = open(fname) count = 0 for line in text: if not line.startswith("From"): continue else: count = count + 1 line = line.split() line = line[1] print(line)
print("There were", count, "lines in the file with From as the first word")
Did you know what was wrong because I have the same issue?
Editable code:
fname = input("Enter file name: ")
if len(fname) < 1:
fname = "mbox-short.txt"
fh = open(fname)
count = 0
for line in fh:
line=line.rstrip()
if not line.startswith('From:'):continue
words=line.split()
print (words[1])
count=count+1
print("There were", count, "lines in the file with From as the first word")
fname = input("Enter file name: ")
if len(fname) < 1:
fname = "mbox-short.txt"
fh = open(fname)
count = 0
list=[]
for line in fh:
if not line.startswith('From:'):
continue
line = line.rstrip()
list=line.split()
count+=1
print(list[1])
print("There were", count, "lines in the file with From as the first word")
Can some of you try rerunning your code? I think somethings is wrong with the site- I tired your code (after checking mine and exporting data to exell and doing a match to see if it was good) and the site keeps erroring my code and many of yours.
fname = input("Enter file name: ")
if len(fname) < 1:
fname = "mbox-short.txt"
fh = open(fname)
count = 0
for line in fh:
if "From" in line and "From:" not in line:
lst = line.rstrip().split()
print(lst[1])
count += 1
print("There were", count, "lines in the file with From as the first word")
8.5 Open the file mbox-short.txt and read it line by line. When you find a line that starts with 'From ' like the following line:
From [email protected] Sat Jan 5 09:14:16 2008
You will parse the From line using split() and print out the second word in the line (i.e. the entire address of the person who sent the message).
fname = input("Enter file name: ")
if len(fname) < 1:
fname = "mbox-short.txt"
fh = open(fname)
count = 0
for line in fh:
line = line.rstrip()
if line == "":continue
words = line.split()
if words[0] =='From':
print(words[1])
count+=1
print("There were", count, "lines in the file with From as the first word")
I have the same problem with 54 lines ,anybody can help?
In the txt, there are two types of lines starts with 'From'
- From [email protected] Sat Jan 5 09:14:16 2008
- From: [email protected]
The question require us to pick out line type 2
The code should be like:
This one worked for me:
#Open the file mbox-short.txt
fname = input('Enter files name: ')
fop = open(fname)
count = 0
#read it line by line
for line in fop:
#When you find a line that starts with 'From
if line.startswith('From'):
if not line.startswith('From:'):
count += 1
#You will parse the From line using split()
for word in line.split():
#Then print out a count at the end
if '@' in word:
wrd = word
print(wrd)
print("There were", count, "lines in the file with From as the first word")
fname = input("Enter file name: ")
fh = open(fname)
count = 0
for line in fh :
if not line.startswith("From ") : continue
words = line.split()
print(words[1])
count = count + 1
print("There were", count, "lines in the file with From as the first word")
fname = input("Enter file name: ")
of = open(fname) #mbox-short.txt
count=0
for lines in of:
if lines.startswith('From '):
count= count+1
lne1=lines.strip()
lne2=lne1.split()
print(lne2[1])
print("There were",count, "lines in the file with From as the first word")
fname=input('enter a file name:')
file=open(fname)
c=0
for i in file:
if i.startswith('From '):
c=c+1
print(i.split()[1])
print('There were',c, 'lines in the file with From as the first word')
The Best Option
filee = open(input("Enter file name: "))
count = 0
for line in filee:
if not line.startswith("From"): continue
words = line.split()
if words[0] == "From:":conti
print(words[1])
count = count + 1
print("There were", count, "lines in the file with From as the first word"
I would like to ask what is the role of the command below?
if len(fname) < 1: fname = 'mbox-short.txt'
I think we do not need to specify, but I saw the code example and see that they have these two lines, which I am not sure how useful this is.
fname = input("Enter file name: ") if len(fname) < 1: fname = 'mbox-short.txt' fh = open(fname) count = 0 for line in fh: line = line.rstrip() if not line.startswith('From: ') : continue words = line.split() print(words[1]) count = count + 1 print("There were", count, "lines in the file with From as the first word")
if you are prompting the user to enter the file name, you don't need again to assign the file name. Compare my image below....