-bash: ./bak_1.py: /usr/bin/python^M: bad interpreter: 没有那个文件或目录
在Windows的PyCharm中编写了一个Python文件,然后上传至CentOS中,已经添加执行权限,但是仍然会报如下的错误:
代码如下:
#!/usr/bin/python # -*- coding:UTF-8 -*- #必须在第一行或者第二行显示中文 # Filename:bak_1.py import os import time #第一步:需要备份的文件和目录由一个列表指定 source=['/code/study/var.py','/code/study/helloworld.py'] #第二步:备份应该保存在主备份目录中。 target_dir='/backup' #第三步:文件备份成一个zip文件。 #第四步:zip存档的名称是当前的日期和时间。 target =target_dir + target_dir + time.strftime('%Y%m%d%H%M%S') + '.zip' #第五步:我们使用标准的zip命令,它通常默认地随Linux/Unix发行版提供。 zip_commamd="zip -qr '%s' %s" %(target,' '.join(source)) #开始执行 if os.system(zip_commamd) == 0: print '备份结束',target else: print '备份失败'
使用
python training/bak_1.py
能够正常的执行程序。说明代码段是没有问题的。同时查看pyhton的目录,的确在/usr/bin目录下,也没有问题。查看了网络的资源才知道是Windows上传时候的问题。
请参考http://www.suiyiwen.com/question/4185。
我的解决办法是
[root@localhost training]# vi bak_1.py 利用如下命令查看文件格式 :set ff 或 :set fileformat 可以看到如下信息 fileformat=dos 或 fileformat=unix 利用如下命令修改文件格式 :set ff=unix 或 :set fileformat=unix :wq (存盘退出)
之后就可以正常的执行文件了。