python 名称错误:名称'file_name'未定义[已关闭]

k4emjkb1  于 2023-04-19  发布在  Python
关注(0)|答案(1)|浏览(129)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
5小时前关闭
Improve this question

def save_image():
    global file_path, img, orimg, file_name
    path, ext = os.path.splitext(file_path)
    file_name2 = path.split("\\")[-1]
    cv2.imwrite('D:\\DOCS LOGO DETECTION\\logos\\{}\\{}{}'.format(file_name, file_name2, ext), orimg)
    msgbox.showinfo("Successful", "Image Saved Successfully")

这是代码问题:名称错误:名称'file_name'未定义

uajslkp6

uajslkp61#

查看您提供的代码片段,似乎变量“file_name”在用于文件路径的字符串格式化之前没有定义。要修复此错误,您需要在字符串格式化中使用它之前定义“file_name”变量。
下面是修改后的代码:

import os
import cv2
from tkinter import messagebox as msgbox

def save_image():
    global file_path, img, orimg
    
    # get the file name and extension from the file path
    path, ext = os.path.splitext(file_path)
    
    # get the file name from the path
    file_name = path.split("\\")[-1]
    
    # save the image with the new file path
    cv2.imwrite('D:\DOCS LOGO DETECTION\logos\{}\{}{}'.format(file_name, file_name2, ext), orimg)
    
    # show a success message box
    msgbox.showinfo("Successful", "Image Saved Successfully")

在这个修改后的代码中,我们首先使用os.path.splitext函数从文件路径中获取文件名和扩展名。然后,我们通过使用反斜杠分割路径并获取结果列表的最后一个元素来从路径中获取文件名。最后,我们在文件路径的字符串格式中使用file_name变量。
请注意,我还在代码的开头添加了import os语句,这是使用os.path.splitext函数所必需的。

相关问题