WinError 2 - os.path.getmtime 未在 Python 3 中定位文件
WinError 2 - os.path.getmtime not locating file in Python 3
我在使用一些旨在将多个文件的 "Last Modified" 日期写入 CSV 文档的代码时遇到困难。
我的其他所有功能都正常运行,但是这个功能 returns:
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'filenamesoandso.docx'
这是上下文:
pathList = ["S:\BUILDING\",
"S:\ONGOING PROJECTS\FACILITY OPERATIONS\OPERATIONS\"
]
def file_date_modified(pathList):
sys.stdout = open("date modified.txt", "w+")
for root, dirs, files, in os.walk(a):
for file in files:
if file.endswith(".pdf"):
print(time.ctime(os.path.getmtime(file)))
if file.endswith(".pptx"):
print(time.ctime(os.path.getmtime(file)))
if file.endswith(".doc"):
print(time.ctime(os.path.getmtime(file)))
if file.endswith(".docx"):
print(time.ctime(os.path.getmtime(file)))
if file.endswith(".xlsx"):
print(time.ctime(os.path.getmtime(file)))
for a in pathList:
file_date_modified()
我意识到这个错误通常表明它在错误的目录中查找,但无法根据此处对其他问题的回复提出修复。这是我一直在使用的另一个功能的示例,该功能可以正常工作,但我不确定为什么这个功能可以识别正确的路径而前一个不能。
def file_name_print(pathList):
sys.stdout = open("file names.txt", "w+")
for root, dirs, files in os.walk(a):
for file in files:
if file.endswith(".pdf"):
print(os.path.splitext(file)[0])
if file.endswith(".pptx"):
print(os.path.splitext(file)[0])
if file.endswith(".doc"):
print(os.path.splitext(file)[0])
if file.endswith(".docx"):
print(os.path.splitext(file)[0])
if file.endswith(".xlsx"):
print(os.path.splitext(file)[0])
我还是菜鸟,所以我可能忽略了一些愚蠢的东西。
您可能需要将目录附加到文件名,因为文件的目录与脚本的当前工作目录不同,就像它看起来的那样。
执行此操作的方法可能是:
for file in files:
file_path = os.path.join(root, file)
if file.endswith(".pdf"):
print(time.ctime(os.path.getmtime(file_path)))
这对你有用吗?
我在使用一些旨在将多个文件的 "Last Modified" 日期写入 CSV 文档的代码时遇到困难。
我的其他所有功能都正常运行,但是这个功能 returns:
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'filenamesoandso.docx'
这是上下文:
pathList = ["S:\BUILDING\",
"S:\ONGOING PROJECTS\FACILITY OPERATIONS\OPERATIONS\"
]
def file_date_modified(pathList):
sys.stdout = open("date modified.txt", "w+")
for root, dirs, files, in os.walk(a):
for file in files:
if file.endswith(".pdf"):
print(time.ctime(os.path.getmtime(file)))
if file.endswith(".pptx"):
print(time.ctime(os.path.getmtime(file)))
if file.endswith(".doc"):
print(time.ctime(os.path.getmtime(file)))
if file.endswith(".docx"):
print(time.ctime(os.path.getmtime(file)))
if file.endswith(".xlsx"):
print(time.ctime(os.path.getmtime(file)))
for a in pathList:
file_date_modified()
我意识到这个错误通常表明它在错误的目录中查找,但无法根据此处对其他问题的回复提出修复。这是我一直在使用的另一个功能的示例,该功能可以正常工作,但我不确定为什么这个功能可以识别正确的路径而前一个不能。
def file_name_print(pathList):
sys.stdout = open("file names.txt", "w+")
for root, dirs, files in os.walk(a):
for file in files:
if file.endswith(".pdf"):
print(os.path.splitext(file)[0])
if file.endswith(".pptx"):
print(os.path.splitext(file)[0])
if file.endswith(".doc"):
print(os.path.splitext(file)[0])
if file.endswith(".docx"):
print(os.path.splitext(file)[0])
if file.endswith(".xlsx"):
print(os.path.splitext(file)[0])
我还是菜鸟,所以我可能忽略了一些愚蠢的东西。
您可能需要将目录附加到文件名,因为文件的目录与脚本的当前工作目录不同,就像它看起来的那样。
执行此操作的方法可能是:
for file in files:
file_path = os.path.join(root, file)
if file.endswith(".pdf"):
print(time.ctime(os.path.getmtime(file_path)))
这对你有用吗?