我是新來的python,但我必須創建一個簡單的GUI應用程序來複制文件。這是我試過的。Python GUI應用程序將文件的一個位置複製到另一個位置
from Tkinter import *
from tkFileDialog import askopenfilenames
import shutil,os,glob
def callback():
src = askopenfilenames()
des = "C:\Users\Ravi\Desktop\des"
sourceFiles = os.listdir(src)
try:
for fileName in sourceFiles:
fullName = os.path.join(src, fileName)
if (os.path.isfile(fullName)):
shutil.copy(fullName, des)
except Exception, e:
print("Error %s" %e)
errmsg = 'Error!'
Button(text='File Open', command=callback).pack(fill=X)
mainloop()
當我運行此代碼並試圖複製src中的1.txt文件時,出現以下錯誤。
The directory name is invalid: u'C:/Users/Ravi/Desktop/1.txt\\*.*'
我試過這個代碼也複製文件,但它沒有給出任何結果。
for files in glob.iglob(os.path.join(src, '*.*')):
shutil.copy(files, des)
print("copied")
我不知道如何配置此應用程序。我只需要點擊「文件打開」按鈕並選擇文件並將選中的文件複製到我已硬編碼的目標(des
)(C:\Users\Ravi\Desktop\des
)。請幫助我糾正該代碼或找到另一個解決方案。
我建議使用shutil more來處理路徑和文件。你需要看看os.path()https://docs.python.org/2/library/os.path.html如果你使用python 3(3.4),我會說使用shltil docs https的pathlib – lxx
鏈接://docs.python.org/2/library/shutil.html – lxx
如果您知道文件名,則不需要使用通配符,如*。*。 – lxx