Windows上python中没有扩展文件的FileNotFoundError

Windows上python中没有扩展文件的FileNotFoundError,python,windows,python-os,Python,Windows,Python Os,我在路径C:/Users/example/Downloads中没有扩展名文件。 文件名为examplefile,因此路径为C:/Users/example/Downloads/examplefile。 我试着用 os.stat(“C:/Users/example/Downloads/examplefile”).st\u size 但我有一个错误: File "<pyshell#26>", line 1, in <module> os.sta

我在路径C:/Users/example/Downloads中没有扩展名文件。 文件名为examplefile,因此路径为C:/Users/example/Downloads/examplefile。 我试着用

os.stat(“C:/Users/example/Downloads/examplefile”).st\u size

但我有一个错误:

  File "<pyshell#26>", line 1, in <module>
    os.stat(file).st_size
FileNotFoundError: [WinError 2] The specified file could not be found: 'C:/Users/example/Downloads/examplefile' 
文件“”,第1行,在
os.stat(文件).st\u大小
FileNotFoundError:[WinError 2]找不到指定的文件:“C:/Users/example/Downloads/examplefile”
因此,我尝试使用
os.path.getsize()
,但仍然出现相同的错误。 如何获取文件大小?

在python中引用路径时,应该使用\\而不是/。
os.stat(C:\\Users\\example\\Downloads\\examplefile).st\u size
应该完成这项工作

抱歉,忘了python会自动解释这个问题,并且不会回答这个问题。但是,当我尝试按您的方式执行时,它不会给出错误:

import os
file = "C:/Users/user/Downloads/data"
print(os.stat(file).st_size)
在这种情况下,该文件确实有一个扩展名-只是windows在默认配置中没有显示它

您可以使用glob模式从Python获取真实的文件名

为方便起见,您可能希望使用
pathlib
,而不是
os
,因为它将在一个地方结合全局功能和stat:


从pathlib导入路径
path_to_guess=path(“C:/Users/example/Downloads/examplefile”)
path=path_to_guess.parent.glob(path_to_guess.stem+“*”)[0]
打印(路径)
#这是分机。当然,你可能有不止一个
#具有相同基名称的文件-这对于
#一次性脚本或交互式使用-
#对于生产,您还应该检查创建时间,并可能使用
#选择正确文件的其他方法。
size=path.stat.st_size()

很可能该文件实际上有一个扩展名,而您在操作系统上对它的可视化是在隐藏它。只需找到完整的文件名。Python会自动将Windows上文件路径中的“/”转换为(im)正确的“\`分隔符。这与问题无关。如果您想知道为什么\\而不是\因为您必须转义它(\n是换行符,而\\n只是'\n'),那么在发布答案时会有一个提示:避免使用伪代码,并且在发布答案时,请验证其语法是否正确。在这种情况下,您没有在调用中引用文件名-这会引发错误。@jsbueno,
os.stat
不会将斜杠转换为反斜杠,但当
os.stat
的实现调用
CreateFileW
或(如果后者在某些情况下失败,则很少)时,Windows文件API本身会转换为反斜杠
FindFirstFileW
——除非它是以
“\\\\?\\”
开头的逐字记录路径。