3 使用Python加速文件传输和文件复制 Giampaolo Rodolaefficiently ○ copy files efficiently ● Part 2: ○ psutil ● 第1部分 ○基础的 Unix 概念 ○基础的 Socket 操作 ○高效的传输文件 ○高效的复制文件 ● 第2部分 ○ psutil UNIX concepts (oversimplified) [简单聊聊 Unix 的相关概念] System call / 系统调用 ● A way 系统调用 I/O ● open() ● read() ● write() Processes / 进程 ● fork() ● kill() ● wait() Filesystem / 文件系统 ● chmod() ● mkdir() ● getcwd() Communication / 通信 ● pipe() ● splice() ● mmap() Kernel / 内核 sys 0m1,099s File descriptors 文件描述符 File descriptors / 文件描述符 ● it's a reference to "something" (usually a file) ● it can be mixed with system calls ● 是对文件/套接字等资源的引用 ● 可以和系统调用连用 Print >>> import0 码力 | 78 页 | 654.51 KB | 1 年前3
PyWebIO v1.0.3 使用手册options=['A', 'B', 'C', 'D']) # 多行文本输入 text = textarea('Text Area', rows=3, placeholder='Some text') # 文件上传 img = file_upload("Select a image:", accept="image/*") input('This is label', type=TEXT, placeholder='This 调用作为单元格内容: 上例显示效果如下: 类似地, popup() 也可以将 put_xxx() 调用作为弹窗内容: # Markdown输出 put_markdown('~~删除线~~') # 文件输出 put_file('hello_word.txt', b'hello word!') # 显示一个弹窗 popup('popup title', 'popup text content') 前端静态文件;暴露 PyWebIO后端接口。这其中需要注意前端页面和后端接口的路径约定, 以及前 端静态文件与后端接口分开部署时因为跨域而需要的特别设置。 集成方法 不同Web框架的集成方法如下: Tornado Flask Django aioh�p 需要在Tornado应用中引入两个 RequestHandler , 一个 RequestHandler 用 来提供前端静态文件,另一个 RequestHandler0 码力 | 106 页 | 7.34 MB | 1 年前3
PyWebIO v1.0.3 使用手册options=['A', 'B', 'C', 'D']) # 多行文本输入 text = textarea('Text Area', rows=3, placeholder='Some text') # 文件上传 img = file_upload("Select a image:", accept="image/*") 10 Chapter 4. Documentation PyWebIO, 发布 put_table([ ['商品', '价格'], ['苹果', '5.5'], ['香蕉', '7'], ]) # Markdown 输出 put_markdown('~~ 删除线~~') # 文件输出 put_file('hello_word.txt', b'hello word!') # 显示一个弹窗 popup('popup title', 'popup text content') Flask、Tornado、Django 和 aiohttp Web 框架的集成。 与 Web 框架集成需要完成两部分配置:托管 PyWebIO 前端静态文件;暴露 PyWebIO 后端接口。这其中需 要注意前端页面和后端接口的路径约定,以及前端静态文件与后端接口分开部署时因为跨域而需要的特别设 置。 22 Chapter 4. Documentation PyWebIO, 发布 1.0.3 集成方法0 码力 | 94 页 | 1.71 MB | 1 年前5
PyWebIO v1.2.3 使用手册使用path_deploy() 可以从一个路径中部署 PyWebIO 应用。位于该路径下的 python 文件需要包含名字为 main 的 PyWebIO 任务函数才能被视为 PyWebIO 应用程序。服务端会根据用户访问的 URL 来确定需要加载 的文件并从中读取 PyWebIO 应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py └── 如果使用以上路径调用path_deploy() ,你可以通过 URL http://: /A/b 来访问 b.py 文件中的 PyWebIO 应用。当文件在运行path_deploy() 之后被修改,可以使用 reload URL 参数来重载 文件: http:// : /A/b?reload 你还可以使用 pywebio-path-deploy 命令来启动一个和path_deploy() add_url_rule 将其绑定在 /tool 路径下。启动 Flask 应用后,访问 http://localhost/tool 即可打开 PyWebIO 应用。 Django 在 django 的路由配置文件 urls.py 中加入 PyWebIO 相关的路由即可: # urls.py from functools import partial from django.urls import path 0 码力 | 102 页 | 1.67 MB | 1 年前3
PyWebIO v1.2.2 使用手册使用path_deploy() 可以从一个路径中部署 PyWebIO 应用。位于该路径下的 python 文件需要包含名字为 main 的 PyWebIO 任务函数才能被视为 PyWebIO 应用程序。服务端会根据用户访问的 URL 来确定需要加载 的文件并从中读取 PyWebIO 应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py └── 如果使用以上路径调用path_deploy() ,你可以通过 URL http://: /A/b 来访问 b.py 文件中的 PyWebIO 应用。当文件在运行path_deploy() 之后被修改,可以使用 reload URL 参数来重载 文件: http:// : /A/b?reload 你还可以使用 pywebio-path-deploy 命令来启动一个和path_deploy() add_url_rule 将其绑定在 /tool 路径下。启动 Flask 应用后,访问 http://localhost/tool 即可打开 PyWebIO 应用。 Django 在 django 的路由配置文件 urls.py 中加入 PyWebIO 相关的路由即可: # urls.py from functools import partial from django.urls import path 0 码力 | 102 页 | 1.69 MB | 1 年前3
PyWebIO v1.1.0 使用手册options=['A', 'B', 'C', 'D']) # 多行文本输入 text = textarea('Text Area', rows=3, placeholder='Some text') # 文件上传 img = file_upload("Select a image:", accept="image/*") 10 Chapter 4. Documentation PyWebIO, 发布 put_table([ ['商品', '价格'], ['苹果', '5.5'], ['香蕉', '7'], ]) # Markdown 输出 put_markdown('~~ 删除线~~') # 文件输出 put_file('hello_word.txt', b'hello word!') # 显示一个弹窗 popup('popup title', 'popup text content') add_url_rule 将其绑定在 /tool 路径下。启动 Flask 应用后,访问 http://localhost/tool 即可打开 PyWebIO 应用 在 django 的路由配置文件 urls.py 中加入 PyWebIO 相关的路由即可: # urls.py from functools import partial from django.urls import path0 码力 | 98 页 | 1.73 MB | 1 年前3
PyWebIO v1.2.3 使用手册使用 path_deploy() 可以从一个路径中部署PyWebIO应用。位于该路径下的 python文件需要包含名字为 main 的PyWebIO任务函数才能被视为PyWebIO应用 程序。服务端会根据用户访问的URL来确定需要加载的文件并从中读取 PyWebIO应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py └── c.py 如果使用以上路径调用 path_deploy() ,你可以通过 URL http://: /A/b 来访问 b.py 文件中的PyWebIO应用。当文件在运行 path_deploy() 之后被修改,可以使用 reload URL参数来重载文件: http:// : /A/b?reload 你还可以使用 pywebio-path-deploy 命令来启动一个和 Flask.add_url_rule] 将其绑定在 /tool 路径 下。启动Flask应用后,访问 http://localhost/tool 即可打开PyWebIO应 用。 在django的路由配置文件 urls.py 中加入PyWebIO相关的路由即可: # urls.py from functools import partial from django.urls import path from 0 码力 | 119 页 | 7.44 MB | 1 年前3
PyWebIO v1.2.2 使用手册使用 path_deploy() 可以从一个路径中部署PyWebIO应用。位于该路径下的 python文件需要包含名字为 main 的PyWebIO任务函数才能被视为PyWebIO应用 程序。服务端会根据用户访问的URL来确定需要加载的文件并从中读取 PyWebIO应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py └── c.py 如果使用以上路径调用 path_deploy() ,你可以通过 URL http://: /A/b 来访问 b.py 文件中的PyWebIO应用。当文件在运行 path_deploy() 之后被修改,可以使用 reload URL参数来重载文件: http:// : /A/b?reload 你还可以使用 pywebio-path-deploy 命令来启动一个和 Flask.add_url_rule] 将其绑定在 /tool 路径 下。启动Flask应用后,访问 http://localhost/tool 即可打开PyWebIO应 用。 在django的路由配置文件 urls.py 中加入PyWebIO相关的路由即可: # urls.py from functools import partial from django.urls import path from 0 码力 | 119 页 | 7.41 MB | 1 年前3
PyWebIO v1.1.0 使用手册options=['A', 'B', 'C', 'D']) # 多行文本输入 text = textarea('Text Area', rows=3, placeholder='Some text') # 文件上传 img = file_upload("Select a image:", accept="image/*") input('This is label', type=TEXT, placeholder='This 调用作为单元格内容: 上例显示效果如下: 类似地, popup() 也可以将 put_xxx() 调用作为弹窗内容: # Markdown输出 put_markdown('~~删除线~~') # 文件输出 put_file('hello_word.txt', b'hello word!') # 显示一个弹窗 popup('popup title', 'popup text content') Flask.add_url_rule] 将其绑定在 /tool 路径 下。启动Flask应用后,访问 http://localhost/tool 即可打开PyWebIO应 用 在django的路由配置文件 urls.py 中加入PyWebIO相关的路由即可: # urls.py from functools import partial from django.urls import path from0 码力 | 119 页 | 7.41 MB | 1 年前3
PyWebIO v1.4.0 使用手册PyWebIO 应用部署为 web 服务的另一种方式是使用path_deploy() 。path_deploy() 可以从一个目 录中部署 PyWebIO 应用,只需要在该目录下的 python 文件中定义 PyWebIO 应用,就可以通过 URL 中的路 径来访问这些应用了。 注意: 注意,在 Server 模式下,pywebio.input 、pywebio.output 和 pywebio Framework 。 PyWebIO 还支持基于协程的会话。具体参见Advanced Topic: Coroutine-based session 。 如果你想要将 PyWebIO 应用打包到一个单独的可执行文件里面,从而使用户可以在没有安装 python 解释器 的情况下运行应用,你可以参考Build stand-alone App 如果你想在 PyWebIO 应用中进行一些数据可视化,可以参考Data textarea 多行文本输入 select 下拉选择框 checkbox 勾选选项 radio 单选选项 slider 滑块输入 actions 按钮选项 file_upload 文件上传 input_group 输入组 input_update 更新输入项 4.2.2 函数文档 pywebio.input.input(label=”, type=’text’, *, validate=None0 码力 | 115 页 | 1.70 MB | 1 年前3
共 164 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17













