首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中使用XMODEM发送文件

在python中使用XMODEM发送文件
EN

Stack Overflow用户
提问于 2013-07-19 15:05:13
回答 2查看 8.3K关注 0票数 0

我正在尝试使用XMODEM协议传输文件,我在此链接中看到了解决方案:Please help in using xmodem protocol,但在我的情况下,文件可以发送,但不能包含此内容,请帮助我...

下面是我的发送代码:

代码语言:javascript
复制
import serial
from xmodem import XMODEM
from time import sleep

s = serial.Serial(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N',     stopbits=1, timeout=None, xonxoff=0, rtscts=0)
s.open()

def getc(size, timeout=1):
    return s.read(size)
def putc(data, timeout=1):
    s.write(data)
modem = XMODEM(getc, putc)

f = open('file.txt', 'rb')
stream = f.readlines()
status = modem.send(stream, retry=8)
s.close()
stream.close()

下面是我的recv代码:

代码语言:javascript
复制
import serial
from xmodem import XMODEM
from time import sleep

s = serial.Serial(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=0, rtscts=0)
s.open()

def getc(size, timeout=1):
    return s.read(size)
def putc(data, timeout=1):
    s.write(data)
modem = XMODEM(getc, putc)

stream = open('file.txt', 'wb')
modem.recv(stream)
s.close()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-07 22:39:28

我认为您只是打开了文件,但从未在您的send例程中读取它。

试试这个:

代码语言:javascript
复制
f = open('file.txt', 'rb')

stream = f.readlines()
票数 0
EN

Stack Overflow用户

发布于 2018-08-09 14:45:26

在发送例程中尝试执行以下操作:

代码语言:javascript
复制
stream = open('file.txt', 'rb')
status = modem.send(stream, retry=8)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17739992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档