2016-11-14 89 views
0

在終端中輸入文件路徑名的正確方法是什麼?你應該輸入完整的路徑還是其他的東西?我寫了應該檢查文件中某種基數的代碼。但是不管我如何輸入路徑名,它總是會吐出相同的結果(0:0)。代碼應該是合理的,但我認爲這是我輸入的路徑名稱錯誤。提示時輸入路徑名的最佳方法python

import os 

wide_count = 0 
long_count = 0 


def card(file_name): 
    number_of_lines = 0 
    longest_line = 0 
    f = open(file_name, "r") 
    for line in f: 
     number_of_lines+= 1 
     if len(line) > longest_line: 
      longest_line = len(line) 
    f.close() 
    if longest_line > number_of_lines: 
     return 1 
    else: 
     return 0   

directory = raw_input("Input file pathname: ") 

for(current, sub, files) in os.walk(directory): 
    for f in files: 
     if card(os.path.join(current, files)) == 1: 
      wide_count += 1 
     else: 
      long_count += 1  

print "{0:d} : {1:d}".format(wide_count, long_count)   
+0

你能編輯你的輸入嗎?這樣我們可以檢查是否是由您的輸入法或別的東西引起的問題。 – Lafexlos

+0

另外,你確定它是'os.path.join(current,files)'而不是'os.path.join(current,f)'? – Lafexlos

+0

是的,你說'f'而不是'files'。但問題仍然存在。這是我如何輸入路徑名: '輸入文件路徑名:「/ home/dule/Desktop/python」' '0:0' – monolith937

回答

0

我想通了這個問題:提示輸入時,你實際上應該把absoulte路徑開始以斜線:

而不是

home/_acc/Desktop/my_folder

應該

/home/my_acc/Desktop/my_folder

相關問題