이것은 내 첫 번째 질문이며 전문 코더와는 거리가 멀지 만 조사 중이며 이와 비슷한 문제는 발견되지 않았습니다. 제목은 pxssh가 realted지만, 실제로 많은 otehr 경우에 적용됩니다 보인다. 문제는 문자열을 pxssh를 통해 전송하려고 할 때 문자열을 포맷하려고 시도 할 때 문자열을 조각에 추가하려고 시도 할 때 올바른 순서로 문자열을 추가하는 대신 순서 변경과 las 단편이 문자열의 시작 부분에 나타납니다. 문자와 관련이 있다고 생각하기 때문에 서식을 지정하려고합니다. "파이썬 pxssh sendline 문자열 분할 및 두 줄 보내기
sed -i -e"s /. SringInLineIWantReplace. /StringIWantToPutInstead+StringFromFunctionInput1+.StringFromFunctionInput2/ "FileIWantToEdit이
내 코드는 내가 오류를 재현하기위한 고쳐 다음과 같이 보입니다, 내가 입력으로 얻을 함수의 출력을 사용할 때 잘못 라인을 포맷 할 일이 얼마나 단지 호기심의 호스트 이름, 어쩌면 내가 볼 수없는 몇 가지 풍경 문자 나 그런 종류의 있나요? : 여러 가지 방법으로 sendline 문자열의 형식을 시도했지만 나는 떠들썩한 파티로 볼 때 항상 같은 일이
from pexpect import pxssh
import getpass
def login(hostname):
try:
s.login (hostname, username, password)
except (pxssh.ExceptionPxssh, e):
print ("pxssh failed on login.")
print (str(e))
def logout():
s.logout()
def MyFunction(StringFromFunctionInput1,StringFromFunctionInput2):
line=("sed -i -e {}{}.{}{}")
completeline=(line.format('"s/.*SringInLineIWantReplace.*/StringIWantToPutInstead',StringFromFunctionInput1,StringFromFunctionInput2,'/" FileIWantToEdit'))
return(completeline)
def GetHostname():
s.sendline ("hostname")
s.prompt()
ComputerName=(((s.before).decode("utf-8")).split("\n"))[1]
return(ComputerName)
username = "youruser"
password = "yourpass"
address="192.168.9.100"
print(address)
s = pxssh.pxssh()
login(address)
input2=str(GetHostname())
print(MyFunction("Hi",input2))
logout()
s.close()
의 마법 대상 호스트의 내역을 보면 pxssh가 두 줄을 보낸 방법을 알 수 있습니다. 희망을 누군가 도울 수 있기를 바랍니다. 같은 것을 얻을 수 있다고 확신합니다. 다른 코드를 사용하여 결과를 얻지 만 이제는 어떤 마법에 대해 궁금해합니다. S
미리 감사드립니다!
을! 고마워요! 그리고 제안을 주셔서 감사합니다! 그 캐리지 리턴 물건에 대해 몰랐는데, 그것으로 들여다 볼 것입니다. – lopalcar