私はマルチクリップボードを作らなければならないプロジェクトをしていました。それは何をするつもりです:read()関数がファイル内のすべてのデータを削除するのはなぜですか?
このマルチチップボードは、ターミナルを介して実行されます。 という名前のファイルをクリップボードに作成し、そこにコピーしたテキストをすべて保存します。その人は、自分が望むだけ多くのコピーされたテキストを追加することができ、彼が望むならば、マルチクリップボードをクリアすることもできる。ここで
はコードです:
import pyperclip
import sys
jim=open('multiclipboardd','w')
#This will copy text to the multiclipboard
if len(sys.argv)==2 and (sys.argv[1].lower())=='save':
jim=open('multiclipboardd','a')
jim.write(pyperclip.paste())
jim.write('\n')
print('The text has been pasted to the multiclipboard!')
jim.close()
#This will read text from the multiclipboard
elif len(sys.argv)==2 and (sys.argv[1].lower())=='list':
kk=open('multiclipboardd')
print(kk.read())
#This will delete the text of the multiclipboard
elif len(sys.argv)==2 and (sys.argv[1].lower())=='delete':
jim=open('multiclipboardd','w')
jim.write('')
print('The clipboard has been cleared!')
#jim and kk are just variables
このファイルの名前はあるPanda.py
ターミナルでpython panda.py save
を呼び出すと、clipboarddという名前のフォルダに海流コピーしたテキストを保存する必要がありそしてそれはそうです!私はそれを呼び出すときにこれは完全に正常に動作します。
しかし、端末でpython panda.py list
を実行しようとすると、コピーされた単語が画面に表示されますが、すべて削除されることが予想されます。 python panda.py list
を呼び出す前に、clipboarddに110文字が含まれているとします。その後、python panda.py list
を呼び出した後、0文字になります!
なぜread()
ファイル内のすべての文字を削除しますかクリップボード?
'読んで()'切り捨てされていないファイルで
'w'
を置き換え、それはあなたのコンテンツを削除したくない場合。あなたのファイルの先頭にある無条件の 'jim = open( 'multiclipboardd'、 'w')'はです。 – Amadan'jim = open( 'multiclipboardd'、 'w')'はデータを削除する予定です!さらに、Pythonは 'python panda.py delete'を呼び出したときにのみ' jim = open( 'multiclipboardd'、 'w') 'に到達します –
コードの3行目は何ですか? 2つの 'import'ステートメントの直後ですか? – Amadan