我正在做一個項目,我不得不製作一個多色滑板。這是它會做的:爲什麼read()函數刪除我的文件中的所有數據?
這個multiclipboard將貫穿終端。它將創建一個名爲的剪貼板並將所有複製的文本保存在那裏。該人可以添加儘可能多的複製文本,如果他願意,他也可以清除多滑腳板。
下面的代碼:
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
之前,剪貼板有110個字母。然後在撥打python panda.py list
後,它有0個字母!
爲什麼read()
刪除文件中的所有字符clipboardd?
'閱讀()'不截斷你的文件替換
'w'
。文件頂部的無條件'jim = open('multiclipboardd','w')'是。 – Amadan'jim = open('multiclipboardd','w')'預計將刪除數據!而且,只有當一個人調用'python panda.py delete'時,Python纔會到達'jim = open('multiclipboardd','w')'' –
代碼的第三行是什麼?在兩個'import'語句之後? – Amadan