2011-12-01 4 views
0
#!/usr/bin/python 
data = open("/home/mia/Desktop/results/all-nodup.txt", "r") 
fd = open("/home/mia/Desktop/results/all-filter.txt", "w") 

last_time = 0.0 
last_ip = None 
last_hash = None 
row = data.read() 

for line in row: 
     timestamp, ip, hash_value = line.split() 

     if ip==last_ip and hash_value==last_hash: 

      if float(timestamp) - float(last_time) >= 5.0: 
      fd.write("%s\t%s\t%s\n" % (str(timestamp), str(ip), str(hash_value))) 
      last_time, last_ip, last_hash = timestamp, ip, hash_value 
     else: 
      fd.write("%s\t%s\t%s\n" % (str(timestamp), str(ip), str(hash_value))) 
      last_time, last_ip, last_hash = timestamp, ip, hash_value 

fd.close() 

Это весь мой код, я иду к результатам/каталог для запуска: python filter.py я получил сообщение об ошибке: python: can't open file 'filter.py': [Errno 2] No such file or directoryPython не может открыть файл

Но все другие сценарии могут выполняться, так питон работает отлично , может быть, я должен что-то импортировать в этом случае?

+2

без изменения каталога, что делает 'Ls filter.py' показать? Как насчет 'head -1 filter.py'? – bukzor

ответ

0

Это потому, что filter.py не в каталоге вы запускаете команду.

Попробуйте python /path/to/filter.py. Вы также можете использовать относительные пути, например, если файл находится в одном каталоге вверх, используйте python ../filter.py.

+0

. Filter.py находится в каталоге. Я запускаю команду – manxing

+0

@manxing: no it not –

+0

Вы уверены? ... –

1

python не может даже найти ваш файл сценария filter.py, поэтому изменение вашего кода бесполезно. Чтобы исправить это вам нужно будет либо:

  • положил filter.py в results/ каталог
  • использовать абсолютный путь, например, python /path/to/script/filter.py
  • Определите правильный относительный путь, например. python ../../blah/filter.py
  • положить путь, где filter.py пребывает в вашем PATH переменной
Смежные вопросы