2016-06-30 3 views
0

Ich versuche, ein Tupel-Problem in Python zu lösen, und ich habe meinen Python-Code auf Terminal ausgeführt, aber jedes Mal, wenn ich es ausführe, bringt es mir den Ordner zurück, in dem ich es gespeichert habe, ohne irgendeine Ausgabe. Hier ist der Code:Terminal-Returning-Verzeichnis ohne Ausgabe jedes Mal, wenn ich meinen Code

name = raw_input("Enter file:") 
if len(name) < 1 : 
    name = "mbox-short.txt" 
handle = open(name) 
count = dict() 
fh = handle.read() 
for line in fh : 
lines = line.rstrip() 
if lines.startswith('From '): 
     word = lines.split()`` 
     words = word[5] 
     wordss = words.split() 
     wordsss = wordss[0] 


     for letters in wordsss : 
      count[letters] = wordsss.get(letter, 0) +1 

     lst = list() 
     for k,v in count.items() : 
       lst.append((k,v)) 
       lst.sort(k) 
       print lst 
+0

korrigieren Sie bitte die Einrückung in Ihrem Code. – bhansa

+0

Können Sie den Befehl, den Sie in Ihrem Terminal verwenden, hinzufügen? – Cyrbil

+0

Überprüfen Sie die Lösung unter – bhansa

Antwort

0
name = raw_input("Enter file: ") 
if len(name) < 1 : name = "mbox-short.txt" 
handle = open(name) 
hours = {} 

# handle = open("mbox-short.txt") 
for line in handle: 
    if line.startswith('From '): 
     hour = line.split()[-2].split(':')[0] 
     if hour in hours: 
      hours[hour] = hours[hour] + 1 
     else: 
      hours[hour] = 1 

hours = sorted(hours.items()) 

for hour, count in hours: 
    print hour, count 

Ausgang:

 
[email protected]:~/Desktop/Stack$ python edit_narang.py 
Enter file: 
04 3 
06 1 
07 1 
09 2 
10 3 
11 6 
14 1 
15 2 
16 4 
17 2 
18 1 
19 1

Bitte gehen Sie durch diese: http://www.pythonlearn.com/html-007/cfbook011.html

+0

Ich bekomme Array aus Index in diesem Code. Was ist das Problem hier? name = raw_input ("Geben Sie Datei:") wenn len (name) <1: name = "mbox-short.txt" handle = open (name) mst = list() für Zeile in Griff: wenn nicht line.startswith ('Aus '): weiter Wort = line.split (':') Stunde = word [5] .split() mst.append (Stunde [0]) \t \t \t count = dict() für Briefe in mst: \t \t Zahl [Buchstaben] = mst.get (Brief, 0) +1 lst = list() für k, v in count.items(): \t \t \t lst.append ((k, v)) \t \t \t lst.sort() \t \t \t Druck lst – harshit

+0

Tut mir leid, aber dieser Code ist nicht verständlich, bitte schicken Sie es in Ihrer Frage mit der richtigen identation . – bhansa

0
fh = handle.read() 
for line in fh : 
    lines = line.rstrip() 

In diesen Zeilen, die Sie alle Dateiinhalte lesen und speichern es in fh als string. Jetzt, wenn Sie über es in for line in fh iterieren, erhalten Sie nur einzelne Zeichen in line, so line.rstrip() macht nicht viel Sinn und auch nicht if lines.startswith('From ').