一文钱难倒英雄汉之【目录改变导致程序无法正常执行】

in #joy6 years ago

在工作中我们经常会碰到一些小问题,这些小问题在解决后来看都很简单容易,但是如果不知道解决方案可能得花费一天甚至几天的时间,解决过程经常让人抓狂,试图借“一文钱难倒英雄汉”这个标题来记录下这些问题和解决方案。

文章尽量短小精悍,不求甚解,看了能解决就好。

mac下目录改变导致python脚本执行出错

写个客户端连接服务器,很正常的功能,在本地一切正常,放在亚马逊服务器上却怎么也连不上。

脚本比较复杂,后来用类似以下脚本:

#coding=utf8

import socket
from api import *

sk = socket.socket()
sk.connect((HOST, PORT)) # 主动初始化与服务器端的连接
while True:
    send_data = input("输入命令:")
    sk.sendall(bytes(send_data, encoding="utf8"))
    if send_data == "byebye":
        break
    accept_data = str(sk.recv(1024), encoding="utf8")
    print("".join(("接收内容:", accept_data)))
sk.close()

连接也出错:

ConnectionRefusedError: [Errno 61] Connection refused

居然网上一搜还真有很多这种情况,说是telnet能通但是程序连不上!有说是防火墙问题,有说是NAT问题等。

解决办法

浪费一两小时,终于查到原因,开始在本地写了代码,同时打开命令行测试了,然后用了版本管理git,先把本地目录A随便改了名字为B,用git clone了一个空项目到目录A,然后再把B内容拷到A,对git来说是正常的。

问题在于打开的命令行没有关闭,开会回来也忘了这回事,只到后来在connect前打日志才发现并没有执行新代码......这种情况直接先到上级目录,再进A目录就可以解决。

思维定势害死人啊,一开始就想可能是云服务、防火墙等问题,即使telnet成功了还不死心。

好像还不是第一次碰到这问题,丢人!

Sort:  

你好!客官渴不渴,有没有去 @laodr 老道茶馆喝口热茶啊?倘若你想让我隐形,请回复“取消”。

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 63799.64
ETH 3130.40
USDT 1.00
SBD 3.97