1
pythonに含まれているディレクトリだけを使用して、クリップボードに文字列を挿入する方法を探していました。私は文字列をクリップボードにネイティブにコピーするpython 3
import subprocess
def copy2clip(txt):
cmd='echo '+txt.strip()+'|clip'
return subprocess.check_call(cmd, shell=True)
を試してみましたが、その後、しかし、これは、クリップボード上のテキストに余分な行を追加するように見えた
copy2clip('text')
を呼び出します。
私もTkinterメソッドを試しましたが、貼り付けようとしたときにPythonウィンドウがクラッシュしました。
私は
import subprocess
txt = "Save to clipboard!"
subprocess.run(['clip.exe'], input=txt.strip().encode('utf-16'), check=True)
を使用窓10
'echo -n ...'を使用してください。 –
シェルを使用する必要はありません。特に 'shell = True'は'/U'オプションを使用しないためcmdの内部コマンド出力Unicodeになります。代わりに、エコーされた出力がコンソールまたはANSIコードページに最適化されています。代わりに、新しい 'run'関数を使用することを検討してください。 'subprocess.run(['clip.exe']、input = txt.strip()。encode( 'utf-16')、check = True)'を実行します。 – eryksun