我执行一段python 执行shell脚本脚本报错了,怎么解决

博客访问: 183847
博文数量: 126
博客积分: 116
博客等级: 入伍新兵
技术积分: 1300
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
发布时间: 00:21:03
官方文档:&http://svnbook./nightly/en/svn.advanced.sparsedirs.html对于一个大的版本库来说,本地工作目录签出整个目录树是即费时又占地儿的。虽然可以只签出某个子目录树,但有时候还是需要从根目录签出。那么,怎么才能只把自己感兴趣的子目录签出来呢?从svn1.5版开始,提供了稀疏目录(Sparse.........
阅读(4) | 评论(0) | 转发(0)
发布时间: 21:55:58
使用json-lib实现javabean与json的互转。json-lib官方文档: &http://json-lib.sourceforge.net/usage.html一般的简单类型的bean,应该不会有什么问题,看官方文档的例子就够了。当我们把json转换为复杂类型的bean(例如下面的MyBean,里面有List,又嵌套了其他bean)时,往往会遇到问题。其实官方文档里有例.........
阅读(31) | 评论(0) | 转发(0)
发布时间: 17:20:39
nginx配置如下。& &&server {&&&&&&&&listen 0.0.0.0:9990;&&&&&&&&resolver 8.8.8.8;&&&&&&&&resolver_timeout 10s;.........
阅读(31) | 评论(0) | 转发(0)
发布时间: 20:14:43
centos7安装后,磁盘分了3个逻辑卷,/dev/centos/root/dev/centos/swap/dev/centos/home大部分磁盘空间都分给home了。现在希望把空间分给root。以下命令,通过system-storage-manager,删除home分区,把空间增加到root里。(由于新装的系统,home下是空的,可以直接删除。而且,由于home的文件系统是xfs,似乎只.........
阅读(1) | 评论(0) | 转发(0)
发布时间: 18:05:10
修改host名:hostnamectl set-hostname myhost修改时区:timedatectl set-timezone Asia/Shanghai调整系统时间:ntpdate 0.centos.pool.ntp.org查看系统服务:systemctl list-unit-files --type=service禁止iptables自动启动:systemctl stop&firewalld.servicesystemctl&disable&firewalld.s.........
阅读(1) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
请登录后留言。python的paramiko模块报错解决办法
写了一个脚本内容如下:
#-*- coding:utf-8 -*-
__author__ = 'kai'
import paramiko
import sys,os
host = sys.argv[1]
user = 'zk'
password = '123'
cmd = sys.argv[2]
s = paramiko.SSHClient() & & & &#绑定实例
s.load_system_host_keys() & & & #加载本机HOST主机文件
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(host,22,user,password,timeout=5) & #连接远程主机
stdin,stdout,stderr = s.exec_command(cmd) & & & & & & & #执行命令
cmd_result = stdout.read(),stderr.read() & & & & & & & &#读取命令结果
for line in cmd_result:
& & & & print line,
主要是练习用的,执行之后报错:
#python paramkio.py localhost df
No handlers could be found for logger &paramiko.transport&
Traceback (most recent call last):
& File &paramkio.py&, line 16, in &module&
& & s.connect(host,22,user,password,timeout=5) & #连接远程主机
& File &build/bdist.linux-x86_64/egg/paramiko/client.py&, line 296, in connect
& File &build/bdist.linux-x86_64/egg/paramiko/transport.py&, line 458, in start_client
paramiko.SSHException: Incompatible ssh peer (no acceptable kex algorithm)
产生的原因是因为安装的paramiko模块版本太低
查看当前的paramiko版本:pip freeze
lxml==3.4.2
MySQL-python==1.2.5
ndg-httpsclient==0.3.2
oauthlib==0.6.1
oneconf==0.3.7
PAM==0.4.2
paramiko==1.7.6
Pillow==2.7.0
piston-mini-client==0.7.5
pyasn1==0.1.7
pyasn1-modules==0.0.5
pycrypto==2.6.1
pycups==1.9.72
然后直接升级模块版本就行了:pip install paramiko --upgrade
paramiko==1.15.2
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'我执行一段python脚本报错了,怎么解决_百度知道最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本完全正常没问题,但执行总报错"AttributeError: 'module' object has no attribute 'xxx'"。这其实是.pyc文件存在问题。
问题定位:
查看import库的源文件,发现源文件存在且没有错误,同时存在源文件的.pyc文件
问题解决方法:
1. 命名py脚本时,不要与python预留字,模块名等相同
2. 删除该库的.pyc文件(因为py脚本每次运行时均会生成.pyc文件;在已经生成.pyc文件的情况下,若代码不更新,运行时依旧会走pyc,所以要删除.pyc文件),重新运行代码;或者找一个可以运行代码的环境,拷贝替换当前机器的.pyc文件即可
阅读(...) 评论()python(4)
一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误:
IndentationError: unindent does not match any outer indentation level
【解决过程】
1.对于此错误,最常见的原因是,的确没有对齐。但是我根据错误提示的行数,去代码中看了下,没啥问题啊。
都是用TAB键,对齐好了的,没有不对齐的行数啊。
2.以为是前面的注释的内容影响后面的语句的语法了,所以把前面的注释也删除了。
结果还是此语法错误。
3.后来折腾了半天,突然想到了,把当前python脚本的所有字符都显示出来看看有没有啥特殊的字符。
当前用的文本编辑器Notepad++,好像有个设置,可以显示所有的字符的。
找到了,在:
视图 -& 显示符号 -& 显示空格与制表符
notepad 显示空格与制表符
然后就看出问题来了:
原来错误的行数是1580行:
python error line
但是源码的1580行的对齐用的是点点点的空格,是和前面的几行的对齐所用的箭头表示的TAB键,是不匹配的,即代码的对齐,混用了TAB键和空格:
1580 space and tab mixed
而新的Python语法,是不支持的代码对齐中,混用TAB和空格的。所以出现上述错误提示了。
知道原因了,解决起来就简单了:
去把对应的TAB,都改为空格,统一一下对齐的风格,即可。
在Notepad++中,去:
设置-&首选项:
设置 首选项
语言-&以空格取代(TAB键):
语言 以空格取代Tab
即可实现,对于以后每次的TAB输入,都自动转换为4个空格。
Python中遇到IndentationError,以后第一时间就要想到,是不是由于TAB键和空格混搭使用了。
估计很多人也都是此类原因导致的。记得统一一下就好。
原文链接:/python_syntax_error_indentationerror/
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1363次
排名:千里之外
原创:14篇
(1)(1)(4)(3)(5)(3)(1)(4)

我要回帖

更多关于 怎么执行python脚本 的文章

 

随机推荐