文件共享是工作中经常要进行的。

Mac用户之间可以通过AirDrop来共享文件。AirDrop要借助无线网络,而很多人都是将Mac做成个人热点供手机等Wifi连接,AirDrop时必须断开热点,不方便。当然也可以在“设置”->“共享”中设置文件共享,然后到另一台机器上打开,然后输入用户密码,,,,听着都麻烦。

有没有很Geek很优雅的方式呢?用Python!

Python是一门完全对得起“短小精悍”这四个字的编程语言。Mac上都会预装Python,我们使用Python写一个小程序来实现文件共享:

  1. import SimpleHTTPServer
  2. import BaseHTTPServer
  3. server = BaseHTTPServer.HTTPServer(("",8000),SimpleHTTPServer.SimpleHTTPRequestHandler)
  4. server.serve_forever()

将上述代码保存成http_request_test.py,放到需要共享的文件的上一层目录中,在终端中打开该目录,执行: python http_request_test.py ,

如果没有报错,就可以通知小伙伴,让他们访问 你的IP:8000端口 这个地址共享文件啦。如图


2020年04月03日 更新:

更简单的使用 python 3 在局域网共享文件的方法:

打开命令行界面, cd 到需要共享的文件所有目录,执行以下命令:

  1. python3 -m http.server

将创建一个默认端口为 8000 的 web 服务,然后在浏览器中打开网址: http://本机局域网 IP/  即可看到需要共享的文件。


2020年04月11日13:57:32

使用 Python 3 创建 FTP 服务器:

  1. 安装 pyftpdlib : pip3 install pyftpdlib --user
  2. 启动默认的 ftp 服务: python3 -m pyftpdlib -p 21
  3. 局域网内通过访问 http://ip.in.local.net:21

上述启动的 ftp 服务器默认是匿名访问的,即用户名:anonymous,密码为空,如果要定制访问权限可以使用如下代码:

  1. # !/usr/local/bin/python3
  2. # -*- coding: utf-8 -*-
  3. #
  4.  
  5. __doc__ = """
  6.  
  7. """
  8. from pyftpdlib.authorizers import DummyAuthorizer
  9. from pyftpdlib.handlers import FTPHandler
  10. from pyftpdlib.servers import FTPServer
  11. import os
  12.  
  13. if __name__ == '__main__':
  14. authorizer = DummyAuthorizer()
  15. authorizer.add_user("user", "", ".", perm="elradfmwMT")
  16. authorizer.add_anonymous(os.getcwd())
  17.  
  18. handler = FTPHandler
  19. handler.authorizer = authorizer
  20.  
  21. server = FTPServer(("192.168.31.103", 21), handler)
  22. server.serve_forever()

Mac电脑之间的文件共享 - 偏门的更多相关文章

  1. 对QT的理解——能在公司里不做Java,不做很偏门的产品,不使用偏门的语言,还有钱挣,要有感恩的心

    我的理解: QT做应用软件可以很强大,界面足够漂亮(最有意思的是QSS,让我刮目相看),应该是足够了.同时QT也提供了源码,不过超级复杂,难以理解,所以还是无法深入底层.另外它提供了一个额外的好处,就 ...

  2. Mac电脑C语言开发的入门帖

    本文是写给Mac电脑开发新手的入门帖,诸神请退散. C语言 C语言可说是电脑环境中的"镇国神器",从发明至今,虽然C语言的使用者缓慢的减少,但从当前市场应用情况看,尚无一台电脑能够 ...

  3. Python_架构、同一台电脑上两个py文件通信、两台电脑如何通信、几十台电脑如何通信、更多电脑之间的通信、库、端口号

    1.架构 C/S架构(鼻祖) C:client  客户端 S:server  服务器 早期使用的一种架构,目前的各种app使用的就是这种架构,它的表现形式就是拥有专门的app. B/S架构(隶属于C/ ...

  4. 苹果笔记本适合什么人 中国Mac电脑用户的8个事实

    报告由腾讯 ISUX 研究中心收集了全国 7946 名 Mac 电脑用户的问卷整理而成.并且,参考了苹果公司的历年财报,以及百度.StatCounter 等第三方市场统计数据. 你是 iPhone 用 ...

  5. 在mac电脑上写入文件到NTFS格式的移动硬盘的解决办法

    需求背景: 今天我在Mac电脑A上下载了11G的资料,想传给Mac电脑B,试用了AirPort.文件共享.远程操作等,传输速度都慢得要死,虽然是在同一个局域网下,两台电脑挨的非常的近,但是还是传得超级 ...

  6. 无网络的win10电脑之间实现相互共享文档

    产生需求的原因: 之前做过在有网的情况下,两台win10的电脑怎么在不使用任何第三方软件的情况下实现两者之间的文件共享,但是在完成之后,我猛然间想到一种情况,那就是如果两台wiin10的电脑如果没有网 ...

  7. 【工具使用】mac电脑使用技巧

    本文地址 分享提纲: 1.  mac命令行和finder的交互 2. 一些mac的插件 3. 一些开发的配置 1.mac命令行和findder交互           1)命令行中打开当前文件夹: o ...

  8. Mac电脑如何读取Android手机上的文件

    问题 一般Android手机用usb数据线连接到windows操作系统的电脑上后,会自动将手机存储卡以移动存储的方式显示在电脑里. 但是如果操作系统是Mac的,就没有这个存储设备.问题来了,Mac电脑 ...

  9. mac电脑http代理服务设置公司内网的相关配置

    哈喽,亲爱的小伙伴们 ,今天给大家分享一下公司内网配置 http代理服务设置及外网访问 ,<这是mac电脑的噢>  ===链接地址我的github项目   https://github.c ...

随机推荐

  1. 在centos7使用docker下搭建elasticsearch集群

    一 .docker的安装 https://www.cnblogs.com/ghostdot/p/12410242.html 二.创建相关映射文件 cd /home/ mkdir node cd nod ...

  2. HUD Is It A Tree?!!!!!)

    这个是一个非常恶心的题,刚开始以为是POJ的题,结果发现不是,一直都是超时.上题吧 A tree is a well-known data structure that is either empty ...

  3. 小程序的数据存储,与Django等服务发送请求

    目录 官方文档 快速归纳 存取改删 1.wx存储数据到本地以及本地获取数 1.1 wx.setStorageSync(string key, any data) 存(同步) 1.2 wx.setSto ...

  4. duid 配置监控

    web.xml中加入 <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class& ...

  5. 判断某个点是否在某个view上

    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObjec ...

  6. cocos2d-x android 入门

    前一段时间使用传统方式做了一个CS软件,发现 UI 显示的比较慢,突发奇起,开始研究起来 GPU 加速,最后开始学习 cocos2dx. 开发环境以最新的 Cocos2d-x 3.17.1 Andro ...

  7. 网址封锁的几种方法 公司把 pan.baidu.com 封了 研究实现原理

    HTTP 和 HTTPS 协议HTTP 协议在 头部会发送 host 就是要访问的域名,可以用来被检测. HTTPS 协议虽然会加密全部通讯,但是在握手之前还是明文传输.有证书特证可被检测. 1, D ...

  8. PLINQ 并行操作Linq

    C#并行编程-PLINQ:声明式数据并行   目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 C#并行编程-线程同步原语 C#并行编程-P ...

  9. js 验证输入框是否为空

    很多时候,菜鸟在对输入框是否输入值进行验证时,总会把输入“空字符串”这一状况给忽略掉.嗯,我就这样,所以记下,以后回忆下还是不错滴 <input type="text" id ...

  10. MySQL InnoDB表的碎片量化和整理(data free能否用来衡量碎片?)

    网络上有很多MySQL表碎片整理的问题,大多数是通过demo一个表然后参考data free来进行碎片整理,这种方式对myisam引擎或者其他引擎可能有效(本人没有做详细的测试).对Innodb引擎是 ...