2011-07-29 2 views
2

내 wxPython 응용 프로그램을 실행중인 다른 응용 프로그램 인스턴스간에 잘라 내기/복사/붙여 넣기 작업을 지원하고 싶습니다. 단순히 데이터 구조를 피클 링하여 클립 보드에 텍스트로 복사 한 다음 붙여 넣기 작업을 위해 unpickle 할 수 있습니까?wxPython을 사용하여 클립 보드를 통해 복잡한 데이터 구조를 전달할 수 있습니까?

나는 그것이 내 앱에서 나온 일부 신호에 대한 데이터를 확인해야한다는 것을 알고있다. 아니면 그곳에 무엇이든간에 아무 것도 꺼내기 만하면됩니까? 클립 보드에 남아있는 임의의 텍스트를 unpickle하려고하면 pickle이 얼마나 잘 작동하지 않습니까?

또한이 방법으로 복사 할 수있는 데이터의 양에 실질적인 제한이 있습니까?

저는 현재 Windows와 Linux에서 실행 중이며 Mac을 사용해 본적이 없습니다.

편집 설명서에있는 그 의견을 알고 있습니다. 필자는 악의적 인 사용자가 자신의 소프트웨어 인스턴스를 손상시키려는 것에 대해별로 신경 쓰지 않습니다. 사람들이 피클을 사용하지 않아야한다고 우려하는 경우입니다. 제 질문은 보안이 아니라 실용성입니다.

+0

다른 프로그램이 클립 보드를 동시에 사용하려면 어떻게해야합니까? – dan04

+0

@dan : 잘라 내기/복사/붙여 넣기 기능을 사용하는 다른 소프트웨어와 같습니다. – neurino

답변

1

클립 보드에서 데이터를 신뢰할 수 없어야합니다. 앱에서 오류가 발생하지 않았고 변경되지 않은 경우입니다. 파이썬 문서에서

: 피클 모듈을 경고

는 잘못된 또는 악의적으로 제작 된 데이터에 대한 보안 수 없습니다. 신뢰할 수 없거나 인증되지 않은 출처에서 데이터 을 수신하지 않도록하십시오.

1

해당하는 경우 많은 파이썬 구현 중 하나를 사용하여 json과 데이터를 변환하는 것이 좋습니다.

일반 텍스트는 클립 보드를 사용하여 쉽게 전송할 수 있으며 json 개체를 다시 파이썬으로 변환 할 위험이 없습니다.

마지막으로 한 가지 : 지원 중단의 위험이 없습니다.

+0

내 데이터 구조는 엄격한 계층 구조가 아닙니다. 일부 객체는 예를 들어 상위 객체를 가리 킵니다. 나는 그것을 최소화하기 위해 노력하고 있지만, 여전히 거기에 있습니다. 인터넷 검색에서 JSON 작업까지는 크게 달라지지 않습니다. 또한 같은 질문이 적용됩니다. – phkahler

관련 문제