pyperclip.copy复制路径粘贴后提示文件不存在问题咨询
故障原因
- 核心问题是
readlines()方法读取文本行时,会默认保留每行末尾的换行符\n,你调用pyperclip.copy()时把换行符也一起写入了剪贴板,粘贴到程序输入框后,路径末尾多了不可见的换行字符,导致程序校验路径时判定文件不存在。 - 你将内容粘贴到记事本再重新复制时,要么手动选中内容时没有包含末尾的换行,要么记事本自动过滤了尾部的无效换行符,所以再粘贴就能正常识别。
- 另外你代码中
ProjectFile.close缺少括号,并没有实际执行文件关闭操作,属于潜在不规范写法。
修复方案
读取每行路径后先移除尾部的换行符再写入剪贴板即可,推荐同时改用上下文管理器读取文件,避免手动管理文件关闭的疏漏。
修正后的代码如下:
import io import pyperclip import pyautogui # 用with上下文管理器自动处理文件关闭 with io.open('D:\\master\\list.txt', 'r', encoding="utf8") as ProjectFile: lines = ProjectFile.readlines() for line in lines: # 仅移除行尾的换行符,保留路径本身的前后合法空格 cleaned_line = line.rstrip('\n') print(cleaned_line) pyperclip.copy(cleaned_line) pyautogui.hotkey("ctrl", "v")
内容的提问来源于stack exchange,提问作者rafael
相关产品推荐
相关产品推荐

