2016-11-14 12 views
0

端末のファイルパス名を入力する正しい方法は何ですか?完全なパスを入力する必要がありますか?ファイルのカーディナリティをチェックするコードを書きました。しかし、パス名をどのように入力しても、常に同じ結果(0:0)が吐き出されます。コードは健全でなければならないが、私が間違って入力しているパス名だと思っている。プロンプトが表示されたらパス名を入力する最良の方法

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、f)'の代わりに 'os.path.join(current、files)'であることを確信していますか? – Lafexlos

+0

ええ、あなたは 'ファイル'の代わりに 'f'について正しいものでした。しかし、問題は依然として続く。これはパス名を入力する方法です: '入力ファイルのパス名:"/home/dule/Desktop/python "' '0:0' – monolith937

答えて

0

私はこの問題を考え出し:入力を求められたとき、あなたは実際にはスラッシュで始まるabsoulteパス名を入れる必要があります。

代わりの

home/_acc/Desktop/my_folder

それは

する必要があります

/home/my_acc/Desktop/my_folder

関連する問題