os.listdir() 将字符添加到文件名的开头?
os.listdir() adds characters to the beginning of file name?
我快速 google 浏览了一下,但找不到任何东西。我正在使用 os 使用以下代码获取当前工作目录中所有文件名的列表:
path = os.getcwd()
files = os.listdir(path)
文件列表 returns 很好,但最后一个元素有一个额外的“~$”,它不在实际文件名中。例如:
files
['File1.xlsx', 'File2.xlsx', '~$File3.xlsx']
当我遍历这些文件以尝试导入它们时,这会导致问题,因为我收到以下错误:
[Errno 2] No such file or directory: 'C:\Users\$File3.xlsx'
如果有人知道为什么会发生这种情况以及我如何fix/prevent,那就太好了!
只是想我会回答,以防其他人遇到这个问题。
与os无关。发生这种情况是因为我在拉取文件名列表时在 Excel 中打开了 File3。我发现打开 microsoft 文档会创建一个临时 'lock' 文件,用“~$”表示(这就是它在崩溃时如何重新打开未保存的数据等) .
我从 here 中找到以下内容:
The files you are describing are so-called owner files (sometimes
referred to as "lock" files). An owner file is created when you work
with a document ... and it should be deleted when you save your
document and exit.
在 Microsoft 文件中也有关于此的 SO 问题,可以找到
我快速 google 浏览了一下,但找不到任何东西。我正在使用 os 使用以下代码获取当前工作目录中所有文件名的列表:
path = os.getcwd()
files = os.listdir(path)
文件列表 returns 很好,但最后一个元素有一个额外的“~$”,它不在实际文件名中。例如:
files
['File1.xlsx', 'File2.xlsx', '~$File3.xlsx']
当我遍历这些文件以尝试导入它们时,这会导致问题,因为我收到以下错误:
[Errno 2] No such file or directory: 'C:\Users\$File3.xlsx'
如果有人知道为什么会发生这种情况以及我如何fix/prevent,那就太好了!
只是想我会回答,以防其他人遇到这个问题。
与os无关。发生这种情况是因为我在拉取文件名列表时在 Excel 中打开了 File3。我发现打开 microsoft 文档会创建一个临时 'lock' 文件,用“~$”表示(这就是它在崩溃时如何重新打开未保存的数据等) .
我从 here 中找到以下内容:
The files you are describing are so-called owner files (sometimes referred to as "lock" files). An owner file is created when you work with a document ... and it should be deleted when you save your document and exit.
在 Microsoft 文件中也有关于此的 SO 问题,可以找到