Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import string
- def main():
- print " This program reads from a file and then prints out the"
- print " line with the longest length the line ,or with the highest sum"
- print " of ASCII values , or the line with the greatest number of words"
- infile = open("30075165.txt","r")
- for line in infile:
- print line
- infile.close()
- def length():
- maxlength = 0
- infile = open("30075165.txt","r")
- for line in infile:
- linelength = lengthofline
- if linelength > maxlength:
- #If linelength is greater than maxlength value the new value is linelength
- maxlength = linelength
- linelength = line
- print ,maxlinetext
- infile.close()
- print max(open(your_filename, 'r'), key=len)
- print(max(open(your_filename, 'r'), key=len))
- large_line = ''
- large_line_len = 0
- filename = r"C:tmpTestFile.txt"
- with open(filename, 'r') as f:
- for line in f:
- if len(line) > large_line_len:
- large_line_len = len(line)
- large_line = line
- print large_line
- This Should Be Largest Line
- def get_longest_line(filename):
- large_line = ''
- large_line_len = 0
- with open(filename, 'r') as f:
- for line in f:
- if len(line) > large_line_len:
- large_line_len = len(line)
- large_line = line
- return large_line
- print get_longest_line(r"C:tmpTestFile.txt")
- def get_longest_line(filename):
- mydict = {}
- for line in open(filename, 'r'):
- mydict[len(line)] = line
- return mydict[sorted(mydict)[-1]]
- Small Line
- Small Line
- Another Small Line
- This Should Be Largest Line
- Small Line
- print " This program reads from a file and then prints out the"
- print " line with the longest length the line ,or with the highest sum"
- print " of ASCII values , or the line with the greatest number of words"
- def get_file_data(filename):
- def ascii_sum(line):
- return sum([ord(x) for x in line])
- def word_count(line):
- return len(line.split(None))
- filedata = [(line, len(line), ascii_sum(line), word_count(line))
- for line in open(filename, 'r')]
- return filedata
- afile = r"C:TmpTestFile.txt"
- for line, line_len, ascii_sum, word_count in get_file_data(afile):
- print 'Line: %s, Len: %d, Sum: %d, WordCount: %d' % (
- line.strip(), line_len, ascii_sum, word_count)
- Line: Small Line, Len: 11, Sum: 939, WordCount: 2
- Line: Small Line, Len: 11, Sum: 939, WordCount: 2
- Line: Another Small Line, Len: 19, Sum: 1692, WordCount: 3
- Line: This Should Be Largest Line, Len: 28, Sum: 2450, WordCount: 5
- Line: Small Line, Len: 11, Sum: 939, WordCount: 2
- >>> afile = r"C:TmpTestFile.txt"
- >>> file_data = get_file_data(afile)
- >>> max(file_data, key=lambda line: line[1]) # Longest Line
- ('This Should Be Largest Linen', 28, 2450, 5)
- >>> max(file_data, key=lambda line: line[2]) # Largest ASCII sum
- ('This Should Be Largest Linen', 28, 2450, 5)
- >>> max(file_data, key=lambda line: line[3]) # Most Words
- ('This Should Be Largest Linen', 28, 2450, 5)
- def main():
- print " This program reads from a file and then prints out the"
- print " line with the longest length the line ,or with the highest sum"
- print " of ASCII values , or the line with the greatest number of words"
- length()
- def length():
- maxlength = 0
- maxlinetext = ""
- infile = open("30075165.txt","r")
- for line in infile:
- linelength = len(line)
- if linelength > maxlength:
- #If linelength is greater than maxlength value the new value is linelength
- maxlength = linelength
- maxlinetext = line
- print maxlinetext
- infile.close()
- linelength = lengthofline # bug?
- linelength = len(line) # fix
- $ awk 'length() > n { n = length(); x = $0 } END { print x }' 30075165.txt
- import os.path
- def getLongestLineFromFile(fileName):
- longestLine = ""
- if not os.path.exists(fileName):
- raise "File not found"
- file = open(fileName, "r")
- for line in file:
- if len(line) > len(longestLine):
- longestLine = line
- return longestLine
- if __name__ == "__main__":
- print getLongestLineFromFile("input.data")
- 111111111
- 1111111111111111111111
- 111111111
- 22222222222222222
- 4444444444444444444444444444444
- 444444444444444
- 5555
Add Comment
Please, Sign In to add comment