Python无法打开文件

时间:2011-12-01 16:35:32

标签: python

#!/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 directory

但是每个其他脚本都可以执行,所以python工作得很好,也许我应该在这种情况下导入一些东西?

2 个答案:

答案 0 :(得分:1)

python甚至找不到你的filter.py脚本文件,所以改变你的代码是没用的。要解决这个问题,您需要:

  • filter.py放在results/目录
  • 使用绝对路径,例如python /path/to/script/filter.py
  • 找出正确的相对路径,例如python ../../blah/filter.py
  • 将filter.py所在的路径放入PATH变量

答案 1 :(得分:0)

那是因为filter.py不在你正在运行命令的目录中。

试试python /path/to/filter.py。您也可以使用相对路径,例如,如果文件是一个目录,请使用python ../filter.py