使用input传入参数 程序执行无结果

今天尝试下列代码时,如果直接给函数传入参数,那么可以正常运行,但是使用input传入参数,传入 1 程序执行不报错也不无结果,传入其它参数可以正常执行,到底是为什么呢?

def copy_chosen_file(x):
    print(type(x))
    print(x)
    if x == 1:
        import tkinter as tk
        from tkinter import filedialog
        import shutil
        root = tk.Tk()
        root.withdraw()
        fpath = filedialog.askopenfilename()
        print(fpath)
        dst = str(r'C:\Users\Admin\Desktop\123')
        shutil.copy(fpath, dst)
    else:
        print('quit')


if __name__ == '__main__':
    n = int(input('p'))
    copy_chosen_file(n)

传入1之后的结果如图:

img


传入2之后可以正常出结果:

img

因为你input 的数据是str类型的,应该改成
if x == '1':
或者
if int(x) == 1:

没有问题啊,弹窗选文件,然后复制