Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用XMODEM发送文件_Python_Serial Port_Xmodem - Fatal编程技术网

在python中使用XMODEM发送文件

在python中使用XMODEM发送文件,python,serial-port,xmodem,Python,Serial Port,Xmodem,我正在尝试使用XMODEM协议传输文件,我在这个链接中看到了解决方案: 但在我的情况下,文件可以发送,但不能与此内容,请帮助我 这是我的发送代码: 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, xo

我正在尝试使用XMODEM协议传输文件,我在这个链接中看到了解决方案: 但在我的情况下,文件可以发送,但不能与此内容,请帮助我

这是我的发送代码:

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代码:

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()

我想你刚刚打开了文件,但在发送例程中从未读过

试试这个:

f = open('file.txt', 'rb')

stream = f.readlines()

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

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

putc不应该返回recv上写入的字节数吗?我试着阅读,但结果仍然相同。结果仍然相同,兄弟:(