导航:首页 > 编程语言 > python大文件传输

python大文件传输

发布时间:2022-07-12 09:02:09

❶ 如何用python快速读取几G以上的大文件

如果你没那么大的内存 解决方法有几个:

  1. 使用swap 一次性read()读取

  2. 系统层面分割大文件为数个小于系统内存的小文件,分别读取

  3. 使用python 按数据大小逐块读取,使用完数据即释放该部分内存:

whileTrue:
chunk_data=file_object.read(chunk_size)
ifnotchunk_data:
break
yieldchunk_data

❷ 如何使用python在局域网上传送文件

可以使用python做HTTP服务器,然后就可以传文件了
首先确保装了Python,Python内置了一个简单的HTTP服务器,只需要在命令行下面敲一行命令,一个HTTP服务器就起来了:
python -m SimpleHTTPServer 80

后面的80端口是可选的,不填会采用缺省端口8000。注意,这会将当前所在的文件夹设置为默认的Web目录,试着在浏览器敲入本机地址:
http://localhost:80

如果当前文件夹有index.html文件,会默认显示该文件,否则,会以文件列表的形式显示目录下所有文件。这样已经实现了最基本的文件分享的目的,你可以做成一个脚本,再建立一个快捷方式,就可以很方便的启动文件分享了。如果有更多需求,完全可以根据自己需要定制,具体的请参见官方文档SimpleHTTPServer,或者直接看源码。我拷贝一段,方便参考:
import SimpleHTTPServer
import SocketServer

PORT = 8000

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()

❸ python ftplib 传输文件大小的文件,如何传输较大文件

没有矛盾啊。只要你不一口气将所有文件都加载到内存里去。使用FTP协议,发送大文件不成问题。

FTP协议是个很简单的协议。你可以仔细看一下原理。然后再配合python的ftplib看。你会发现那些cmd就是FTP的命令。

❹ python 读取大文件数据怎么快速读取

python中读取数据的时候有几种方法,无非是read,readline,readlings和xreadlines几种方法,在几种方法中,read和xreadlines可以作为迭代器使用,从而在读取大数据的时候比较有效果.

在测试中,先创建一个大文件,大概1GB左右,使用的程序如下:

[python] view plainprint?
import os.path
import time
while os.path.getsize('messages') <1000000000:
f = open('messages','a')
f.write('this is a file/n')
f.close()

print 'file create complted'

在这里使用循环判断文件的大小,如果大小在1GB左右,那么结束创建文件。--需要花费好几分钟的时间。

测试代码如下:

[python] view plainprint?
#22s
start_time = time.time()
f = open('messages','r')
for i in f:
end_time = time.time()
print end_time - start_time
break
f.close()

#22s
start_time = time.time()
f = open('messages','r')
for i in f.xreadlines():
end_time = time.time()
print end_time - start_time
break
f.close()

start_time = time.time()
f = open('messages','r')
k= f.readlines()
f.close()
end_time = time.time()
print end_time - start_time

使用迭代器的时候,两者的时间是差不多的,内存消耗也不是很多,使用的时间大概在22秒作用
在使用完全读取文件的时候,使用的时间在40s,并且内存消耗相当严重,大概使用了1G的内存。。

其实,在使用跌倒器的时候,如果进行连续操作,进行print或者其他的操作,内存消耗还是不可避免的,但是内存在那个时候是可以释放的,从而使用迭代器可以节省内存,主要是可以释放。
而在使用直接读取所有数据的时候,数据会保留在内存中,是无法释放这个内存的,从而内存卡死也是有可能的。

在使用的时候,最好是直接使用for i in f的方式来使用,在读取的时候,f本身就是一个迭代器,其实也就是f.read方法

❺ python哪些web框架适合用来做大文件上传服务

这个果断要用tornado啊。html5的 Filesystem Api,可以读取一个本地文件为blob,然后可以按任意字节切分slice。这不就是断点上传么。Google Gears时代我就实现了个多线程上传的。python的socket手写http协议。很好玩。


转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦

❻ 使用Python 处理大文件有什么推荐的方式么

以前弄过一些组学的文件,如果是纯文本的话不要用 for..in..语句,用 readlines 读入几千行后再用 readline 处理,如果是 utf8 之类非等长的字节编码的话先按 byte 编码读入文本必要时再解析成别的,最后把文件塞到内存盘再加个多进程。如果要求不高用 bash+awk 比 python 快很多。

❼ 如何通过python上传文件到百度云盘

直接在系统命令行中输入bypy命令,将会列出所有的命令的使用信息。
授权
在命令行中输入bypy info,将会出现一个提示,按照提示完成授权,完成了授权Python代码才能和你的网络云盘进行通信。
常用命令
新建文件夹,在网络网盘中新建一个文件夹:
mkdir(remotepath='bypy'),将会新建一个bypy文件夹,如图:
新建的文件夹
上传文件:
upload(localpath='c:\\new\\timg.jpg',remotepath='bypy',onp='new')
参数说明:
localpath:本地的目录,如果省略则为当前目录。
remotepath:云盘目录
onp:当出现重复文件时如何处理,默认是overwrite,安全起见可以更改为new
Python 代码实例
from bypy import ByPy
bp = ByPy()
bp.mkdir(remotepath='bypy')
bp.upload(localpath='c:\\new\\timg.jpg',remotepath='bypy',onp='new')
print('上传完毕!')
注意:
中文文件名可能会出现问题,最好使用英文文件名。

阅读全文

与python大文件传输相关的资料

热点内容
爱旅行的预备程序员 浏览:111
安卓qq浏览器怎么转换到ios 浏览:292
不同编译器的库可以调用吗 浏览:455
灰度信托基金加密 浏览:421
宿迁程序员兼职网上接单 浏览:924
电视编译器怎么设置 浏览:276
手机如何解压汉字密码的压缩包 浏览:701
为什么很多程序员爱用vim 浏览:828
安卓手机怎么连接宝华韦健音响 浏览:555
12星座制作解压球 浏览:867
java调用oracle数据 浏览:827
怎么在服务器上上传小程序源码 浏览:304
空中加油通达信指标公式源码 浏览:38
分卷解压只解压了一部分 浏览:760
php网站自动登录 浏览:705
合肥凌达压缩机招聘 浏览:965
怎么找到文件夹的图标 浏览:237
linuxc编程pdf百度云 浏览:192
会计pdf下载 浏览:835
c开源cf源码 浏览:951