首页 > 编程语言 >小白学Python - 使用Python的文件共享应用程序

小白学Python - 使用Python的文件共享应用程序

时间:2023-10-22 17:08:27浏览次数:34  
标签:文件共享 Python IP 二维码 pyqrcode 小白学 模块 import

使用Python的文件共享应用程序

小白学Python - 使用Python的文件共享应用程序_Python

计算机网络 是一个重要的主题,要理解这些概念,需要实际应用这些概念。在这篇特别的文章中,我们将了解如何使用 Python制作一个简单的文件共享  Web 服务器是理解URL(网址)和HTTP(用于查看网页的协议)的软件。Python 有几个包,它们是模块的集合。它有几个内置服务器。该项目中使用的模块是:

  • HTTPServer是一个套接字服务器,它创建并侦听HTTP 套接字。
  • 套接字服务器模块简化了编写网络服务器的任务。
  • webbrowser模块为我们提供了一个高级接口来允许和显示基于 Web 的文档,只需调用 open() 函数即可
  • pyqrcode模块只需两行代码即可生成QR 码。
  • OS 模块有助于与操作系统交互。用于在命令行上打开文件、操作路径以及读取所有文件中的所有行。
  • PyPNG允许使用纯 Python 读取和写入 PNG 图像文件

分步方法:

  • 安装第三方模块:
pip install pyqrcode
pip install pypng
  • 在命令行中使用 pip install 安装依赖项。
  • 导入必要的模块:
  • http.server和socketserver:托管在浏览器中。
  • pyqrcode:生成二维码。
  • png:将 QRCode 转换为 png 文件。
  • 操作系统:与操作系统交互。
  • 指定用户的端口和名称。
  • 找到PC的IP地址并将其转换为二维码。
  • 创建 HTTP 请求。
  • 在浏览器中显示二维码。

程序实现:

# 导入必要的模块

# 用于实现HTTP Web服务器
import http.server

# 提供对BSD套接字接口的访问
import socket

# 网络服务器框架
import socketserver

# 向用户显示基于网络的文件
import webbrowser

# 生成 qrcode
import pyqrcode
from pyqrcode import QRCode

# 转换为 png 格式
import png

# 访问操作系统控制
import os


# 分配适当的端口值
PORT = 8010
# 这将找到计算机用户的名称
os.environ['USERPROFILE']


# 更改目录以访问文件桌面
# 借助操作系统模块
desktop = os.path.join(os.path.join(os.environ['USERPROFILE']),
					'OneDrive')
os.chdir(desktop)


# 创建一个 http 请求
Handler = http.server.SimpleHTTPRequestHandler
# 返回执行 Python 解释器的系统的主机名
# 执行 Python 解释器的系统主机名
hostname = socket.gethostname()


# 查找电脑的 IP 地址
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
IP = "http://" + s.getsockname()[0] + ":" + str(PORT)
link = IP


# 将 IP 地址转换成 QR 码的形式
# 借助 pyqrcode 模块

# 将 IP 地址转换为 Qrcode
url = pyqrcode.create(link)
# 保存 svg 的 Qrcode 信息
url.svg("myqr.svg", scale=8)
# 在网络浏览器中打开 Qrcode 图像
webbrowser.open('myqr.svg')


# 创建 HTTP 请求,并为 PORT 8010 中的 # 文件夹提供服务。
# 在端口 8010 的文件夹中,并生成 pyqrcode

# 客户端和服务器之间的连续数据流
with socketserver.TCPServer(("", PORT), Handler) as httpd:
	print("serving at port", PORT)
	print("Type this in your Browser", IP)
	print("or Use the QRCode")
	httpd.serve_forever()

输出:

  • 在PC上打开包含上述代码的python文件。
  • 这将生成一个二维码。

小白学Python - 使用Python的文件共享应用程序_Python_02

  • 扫描二维码或在移动浏览器中输入 python shell 中显示的 IP 地址。

示例:

小白学Python - 使用Python的文件共享应用程序_服务器_03

为什么是8010端口? 

TCP 端口 8010 使用定义的协议根据应用程序进行通信。协议是一组正式的规则,解释数据如何通过网络进行通信。这是安全的。

解释:

  • 该代码通过OS module查找 USERPROFILE 的名称。并更改目录以访问桌面上的文件。
  • 查找主机名以在特定端口中提供文件以进行安全共享。
  • 然后找到系统的IP地址,以便我们可以连接特定的设备。
  • 使用模块pyqrcode将 IP 地址转换为二维码的形式,以方便使用。
  • 生成的图像托管在网络浏览器中。
  • 一旦设备连接到同一网络,扫描二维码或输入IP地址就可以访问系统的文件。

标签:文件共享,Python,IP,二维码,pyqrcode,小白学,模块,import
From: https://blog.51cto.com/demo007x/7977241

相关文章

  • 小白学Python - 使用 Python 的 OpenCV 绘制矩形并提取对象
    使用Python的OpenCV绘制矩形并提取对象OpenCV是一个开源计算机视觉和机器学习软件库。可以在它的帮助下完成各种图像处理操作,例如操纵图像和应用大量滤镜。它广泛用于对象检测、人脸检测和其他图像处理任务。让我们看看如何使用OpenCV在图像上绘制矩形并提取对象。编写代码#......
  • 小白学Python - 在 Python 中使用 TensorFlow 进行面部口罩检测
    在Python中使用TensorFlow进行面部口罩检测我们将使用此Python脚本来训练口罩检测器并查看结果。鉴于训练有素的COVID-19口罩检测器,我们将继续实现另外两个Python脚本,用于:检测图像中的COVID-19口罩检测实时视频流中的口罩口罩检测系统流程图 为了训练自定义口罩检测器......
  • Python第七课——函数
    记忆关键点:一、定义函数defgreet_user():"""显示简单的问候语"""print("hello!")greet_user()defgreet_user():"""显示简单的问候语"""print("hello!")greet_user()defgreet_user(username):......
  • Python 函数:定义、调用、参数、递归和 Lambda 函数详解
    函数是一段代码块,只有在调用时才会运行。您可以将数据(称为参数)传递给函数。函数可以返回数据作为结果。创建函数在Python中,使用def关键字定义函数:示例defmy_function():print("Hellofromafunction")调用函数要调用函数,请使用函数名称后跟括号:示例defmy_function......
  • Python 函数:定义、调用、参数、递归和 Lambda 函数详解
    函数是一段代码块,只有在调用时才会运行。您可以将数据(称为参数)传递给函数。函数可以返回数据作为结果。创建函数在Python中,使用def关键字定义函数:示例defmy_function():print("Hellofromafunction")调用函数要调用函数,请使用函数名称后跟括号:示例defmy_function(......
  • 【python疑难杂症】
    报错:TypeError:scatterplot()takesfrom0to1positionalargumentsbut2weregiven问题:我猜出这个报错的都是这么写的:x_data=[1,2,3]y_data=[4,5,6]sns.scatterplot(x_data,y_data)plt.show()解法:在x_data前面加x=,y_data前面加y=,即:x_data=[1,2,3]y_da......
  • Python scrapy爬虫框架爬取廖雪峰大佬官网Python教程左侧目录
    文章转载至:mob6454cc6f27a3 的PythonScrapy爬虫框架实例(一)爬虫框架scrapy简单实例吃面崩掉牙的Scrapy爬虫框架入门教程(1)——爬取廖雪峰老师的博客!!只是爬取一个字段,并不将爬取的数据存储下来。!!运行环境:window10x64系统python3.6pycharmanacondascrapy安装好以上环境、包之后,......
  • Python教程(15)——Python流程控制语句详解
    Python流程控制是Python编程中非常重要的一部分,它用于控制程序的执行流程。Python提供了多种流程控制语句,包括if语句、while循环、for循环、break和continue语句等。这种流程控制在各个语言中都是大同小异的,如果你已经学过其他的语言,那么这章节就可以直接跳过。if语句if语句用于......
  • Python教程(15)——Python流程控制语句详解
    Python流程控制是Python编程中非常重要的一部分,它用于控制程序的执行流程。Python提供了多种流程控制语句,包括if语句、while循环、for循环、break和continue语句等。这种流程控制在各个语言中都是大同小异的,如果你已经学过其他的语言,那么这章节就可以直接跳过。if语句if语句用......
  • python--猜数字游戏改编版2--用函数套用
    #猜数字游戏让游戏者决定几到几的数字,用函数做defcaishuzi_game(x,y):importrandomx=int(random.randint(x,y))b=int(input("请输入你要猜的数字"))a=1whilea<5:b=int(input("请输入你要猜的数字"))ifx==b:print("恭......