python开发之路1---多并发Ftp的开发

一、事前准备

  1.新建1个project,我这里起的名字是:day9-1.

  2.在day9-1目录下,New 2个Python Package:CrazyFtp和CrazyFtpClient,分别用于存放客户端、服务器端的目录及文件。

  3.然后分别在服务器端、客户端Package目录下面,新建文件和目录,具体如下:

  • CrazyFtp

    • bin(用户存放可执行程序目录)

      • crazy_ftp_server.py
    • conf(用于存放配置文件)
      • settings.py
    • modules(用于存放主文件目录)
      • main.py  
      • socket_server.py
    • var
      • log(Package目录)
      • users(Package目录) 
  • CrazyFtpClient
    • bin

      • ftp_client.py(调core目录下的)
    • core
      • socket_client.py
    • var

    

二、技巧

  1.导入根文件里所有的模块(即当前模块目录之外的模块)方法

    ----将服务器端的”根“目录加入到环境变量里面去,这里指CrazyFtp目录。

    1.首先导入sys和os模块。

    2.然后用os.path.dirpath方法和os.path.abspath方法取得__file__(当前文件的相对路径)的"根"。【这里最好先取绝对路径,然后再去切分取上一级.....】

    3.将"根"加入到环境变量里面去。即sys.path.append(根路径)。

import sys
import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#将此路径加入到环境变量里面,即sys.path.append(目录)
sys.path.append(BASE_DIR)
from modules import main

  

 

待续.......

  

  

时间: 2024-10-11 06:14:50

python开发之路1---多并发Ftp的开发的相关文章

python开发之路

Python开发[一]初识Python Python开发[二]基本数据类型 python开发[三]文件管理 python开发[四]函数

Python 开发之路

目录 Python开发[第二篇]:初识Python Python开发[第三篇]:Python基本数据类型

python开发之路SocketServer

SocketServer与客户端进行连接的示意图: 只要客户端连接进来,我们就为客户端创建1个线程或进程,创建完成之后,客户端直接和创建的线程直接进行通信(即3和4步),因此这样的话可以通过这个模块传输大的文件. 1.基于线程版本的SocketServer示例 server.py #!/usr/bin/env python # -*- coding:utf-8 -*- import SocketServer class MyServer(SocketServer.BaseRequestHandl

python开发之路Day17-算法设计(冒泡排序、选择排序、插入排序、二叉树)

s12-20160514-day17 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin

物联网的全栈开发之路

本文由嵌入式企鹅圈原创团队成员-华南师范大学物联网创新中心黄鑫执笔. 两年前我还一直专注在android系统定制领域的研究,对物联网关注比较少,尽管我个人对智能家居的概念和场景体验也比较熟悉.真正引起我注意的是有一次在车上,听到电视广播说打开蓝牙,用手机摇一摇就可以摇到红包,我就觉得这个场景很棒,然后就知道了ibeacon和微信摇一摇周边,知道了微信硬件平台和物联网的发展已经深入渗透到我们的生活了.尽管我觉得自己进入物联网不算早,但是考虑到传统电子行业都有升级到物联的需求,加上自身在嵌入式和AP

高效Web前端开发之路:YUI 3.15 PDF扫描版

JavaScript是一种最初由Netscape的LiveScript发展而来的面向对象的Web脚本语言,被ECMA国际定义为国际化标准--ECMAScript.JavaScript具有使用局限性.在Web方面,其必须与各种DOM技术结合才能发挥作用.因此,一些具有开拓创新精神的开发者们便开发出了各种丰富的第三方框架,通过第三方的支持代码实现浏览器兼容性的统一.代码的简化以及功能的增强. <高效Web前端开发之路:YUI 3.15>作者便是在此背景下,以国外最优秀的JavaScript框架之一

python运维开发之路02

年底事多,在公司忙成狗,难得把博客更新了下 本章主要内容是collections模块的介绍(队列,计数器,默认字典,有序字典,可命名元组,以及简单介绍深浅拷贝!) collections模块 collection counter 计数器: counter 是继承字典这个父类的功能,所以很多方法都是从字典那里得来的.它的功能就是计算每个元素出现的次数 >>> import collections >>>ret=collections.Counter("asdfk

Python Web开发之路

Flask相关 1.DBUtils数据库连接池 2.Flask之初体验 原文地址:https://www.cnblogs.com/buyisan/p/8532918.html

IOS中APP开发之路

现在移动APP正式急速上升的趋势,然而占据着主要地位的还是这2大巨无霸:谷歌的Android与苹果的ios系统.那么,作为 程序员了解一下APP的开发流程思路是有所必要的,特别是正流行火热的APP市场.开发IOS的APP学习思路,翻译 了一个很牛B的网 络文章,并且大致的总结了一些IOS开发APP的流程思路,它不仅仅是初学者的导航灯,还是ios开发热衷粉丝的垫脚石.iOS系统以 及iPhone的出来都要感谢ios鼻祖---乔布斯,一个完美主义者,从如此优秀的iOS系统和iPhone就可以看出来.