-2

在我的.vimrc,有这一行:

map <F4> :w<cr>:!python %<cr>

vim /home/debian/rd.py当我使用并在文件写入后按编辑 python 文件F4时,我收到此错误:

/bin/bash: /home/debian/rd.py: Permission denied
shell returned 126
Press ENTER or type command to continue
1 gphoto2  --get-all-files
1     0x670x700x680x6f0x740x6f0x320xc20xa00x200x2d0x2d0x670x650x740x2d0x610x6c0x6c0x2d0x660x690x6c0x650x730xa
2 gphoto2  --get-all-files
2 0x670x700x680x6f0x740x6f0x320x200x200x2d0x2d0x670x650x740x2d0x610x6c0x6c0x2d0x660x690x6c0x650x730xa

Press ENTER or type command to continue

结果是对的,为什么Permission denied我得到了结果?

编辑:

我经常使用gphoto2 --get-all-files将数码相机照片放到我的电脑上,有时命令 gphoto2 --get-all-files无法运行。我对这种现象感到困惑,当我将其擦除并再次输入时,它可以工作。我将两个看起来相同的命令粘贴到一个文件中,请从这里下载 并保存为\tmp\compare.txt

文件内容

gphoto2  --get-all-files
gphoto2  --get-all-files

当我打开vim在python上写一段小代码看原因时,

rd.py 的内容

myfile=open("/tmp/compare.txt","rb")
for x,line in enumerate(myfile.readlines()):
   print  x+1,line,
   str1=""
   for char in line:
       str1=str1+hex(ord(char))
   print x+1,str1

完成后按 F4 ,我得到输出,原因&nbsp在命令中。

1      0x670x700x680x6f0x740x6f0x320xc20xa00x200x2d0x2d0x670x650x740x2d0x610x6c0x6c0x2d0x660x690x6c0x650x730xa    

2      0x670x700x680x6f0x740x6f0x320x200x200x2d0x2d0x670x650x740x2d0x610x6c0x6c0x2d0x660x690x6c0x650x730xa    

str1 是0xa0哪个&nbsp大于 str2

4

2 回答 2

1

从该错误消息的外观看来,Vim 和 Python 似乎都不是该问题的原因。此外,您的 python 脚本似乎调用了第四个程序gphoto2,所以此时一切都有些混乱。

不了解rd.py这里没有人的内容,除了胡乱猜测之外,真的不能帮助你。我建议您将其内容粘贴到您的问题中,或找到一种方法使其可供我们使用。

于 2013-05-26T07:47:53.877 回答
0

您是否有权写入rd.py现有登录名?我会怀疑:w失败,因为您没有写权限,但是下一个命令!python rd.py运行,给出结果。

尝试$ sudo vim /home/debian/rd.py在 vim 中保存

另一种可能性是可执行位未设置在 rd.py.

于 2013-05-26T04:20:22.447 回答