Python3根据用户输入的姓名打开对应JPG图片出现报错如何解决
问题修复方案
错误原因
- 路径拼接语法错误:你将变量x、y、z直接写在了字符串引号内部,Python会将其识别为普通文本而非读取变量存储的值,同时多余的嵌套单引号也导致最终生成的路径格式完全非法,和你预期的路径完全不符。
- 缺少姓名各部分之间的空格:你需要的目标文件名是
名字 中间首字母 姓氏.jpg,拼接时没有在三个变量之间插入空格,即使语法正确也找不到对应文件。
修复后完整代码
import PIL.Image as Image x = input('Please enter your first name: ') y = input('followed by your middle initial: ') z = input('followed by your last name: ') print('Thank you', x, y, z) # 使用f-string拼接路径,变量用{}包裹,手动添加姓名之间的空格 img_path = f"C:/Users/rober/Pictures/{x} {y} {z}.jpg" try: img = Image.open(img_path) # 打开图片后需要调用show方法显示 img.show() except FileNotFoundError: print(f"错误:路径{img_path}下不存在对应文件,请检查输入姓名或路径是否正确")
补充说明
- 如果你的电脑实际用户名不是
rober,需要把路径里的rober替换为你自己的Windows用户名 - 如果你不想用f-string,也可以用普通字符串拼接写法:
img_path = "C:/Users/rober/Pictures/" + x + " " + y + " " + z + ".jpg",效果完全一致
内容的提问来源于stack exchange,提问作者Robert50
相关产品推荐
相关产品推荐

