Python 无理由使用文件名作为前缀的Shutil Copy

Python 无理由使用文件名作为前缀的Shutil Copy,python,pandas,shutil,Python,Pandas,Shutil,我正在将一些文件从一个目录复制到另一个目录,这取决于它们是否是.xlsx文件。它每周复制大约50个文件,这是一个平稳的过程,但现在它正在复制其中一个文件,并在文件名中添加一个~$前缀,并且正确地复制文件。此~$文件也已损坏,这意味着当我在pandas中读取该文件时,它会出现错误 下面的代码是复制粘贴,它的前缀是Line Status_WCH.xlsx,它将其移动到新目录,但作为两个文件,一个文件名正确,另一个文件名为~$Line Status_WCH.xlsx 有人知道这件事的原因吗 for f

我正在将一些文件从一个目录复制到另一个目录,这取决于它们是否是.xlsx文件。它每周复制大约50个文件,这是一个平稳的过程,但现在它正在复制其中一个文件,并在文件名中添加一个~$前缀,并且正确地复制文件。此~$文件也已损坏,这意味着当我在pandas中读取该文件时,它会出现错误

下面的代码是复制粘贴,它的前缀是Line Status_WCH.xlsx,它将其移动到新目录,但作为两个文件,一个文件名正确,另一个文件名为~$Line Status_WCH.xlsx

有人知道这件事的原因吗

for filename in os.listdir(getdirectory):
    if filename.endswith(".xlsx"):
        try:
            book = os.path.join(getdirectory + filename)
            print (book)
            shutil.copy(book, putdirectory)
            time.sleep(0.1)
            errorbook = filename
        except OSError:
            print(str(errorbook) + " Workbook in use")
            pass
这就是在尝试读取xlsx工作簿时崩溃的原因,并出现错误

xlrd.biffh.xlrd错误:不支持的格式,或损坏的文件:预期的BOF记录;找到b'\x15Packia'

if filename.endswith(".xlsx"):
        try:
            fName = os.path.join(homedir + filename)
            print (fName)

            fBase = os.path.basename(fName)
            fRaw = os.path.splitext(fBase)[0]

            df = pd.read_excel(fName)

这不应该是
os.path.join(getdirectory,filename)
而不是
os.path.join(getdirectory+filename)
?嗯,总是使用+?但是
os.path.join(…)
?我们的想法是在这两者之间添加一个路径分隔符,这样
os.path.join('foo','bar')
,在类Unix系统上是
foo/bar
,在Windows系统上可能是其他东西(通常是)。我对编码比较陌生,因此需要连接路径名