【发布时间】:2014-05-22 20:34:14
【问题描述】:
我有一个代码块,用于通过 http 将文件从妈妈的计算机传输到我自己的计算机。 我首先索引我妈妈系统上的文件,然后将它们与我系统上存在的文件进行匹配,如果搜索失败,它将将该文件传输到我的系统。
我在小文件上测试了该代码,它运行良好,但我开始传输大文件夹,这比通过网络手动传输花费的时间要多得多。
我不知道这个问题是在我的网络中还是与代码有关
import requests
import client_index
import sever_index
def transfer(url):
files = {'userfile': open(url, 'rb')}
tim = url.rsplit('/',1)
payload = { 'lnk' : tim[0], 'bp' : client_index.rootDir}
r = requests.post('http://192.168.1.3/upload_file.php',files=files,data=payload,stream=True)
print r.text
return
def search(str):
found=0
with open("my.txt") as f:
for line in f:
if str==line:
found=1
return
if found==0:
print(str)
transfer(str[:-1])
return
c=0
with open("my.txt") as fome:
for line in fome:
c=c+1
if c==0:
with open("mom.txt") as fo:
for line in fo:
transfer(line[:-1])
else:
with open("mom.txt") as fo:
for line in fo:
search(line)
【问题讨论】:
-
你为什么不直接使用 rsync 呢?它可以满足您的所有需求,而且速度非常快。关于您的问题,它可能与您的 PHP 环境有关。
标签: python search networking file-transfer