ある時点で文字列をクリップボードに入れる Python 3 アプリケーションがあります。システム コマンドを使用してecho
いますが、pbcopy
正常に動作します。ただし、文字列にアポストロフィが含まれている場合 (および他の特殊文字が含まれている可能性があります)、エラーで終了します。コードサンプルは次のとおりです。
import os
my_text = "Peoples Land"
os.system("echo '%s' | pbcopy" % my_text)
それは正常に動作します。しかし、文字列を「People's Land」に修正すると、次のエラーが返されます。
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
文字列をシェルコマンドに渡す前に何らかの方法でエンコードする必要があると思いますが、まだ方法がわかりません。これを達成するための最良の方法は何ですか?