Python使用os.path.join拼接路径出现分行输出,需实现指定主机名路径保存
解决路径拼接时的分行异常问题
问题背景
需求:当主机名为MyPc时,需将文件保存至D:\MyPc目录。
现有代码执行后输出分行,路径拼接失败:
D:
MyPc
问题根源
readline()方法读取文本行时,会把行尾的换行符\n也一并读取到变量里。当os.path.join处理带有换行符的data时,就会导致输出分行。
解决方案
核心是去除读取到的字符串中的换行符,同时优化文件操作的安全性:
修改后的代码
import os # 原代码遗漏了os模块的导入,必须补上 # 使用with语句自动管理文件资源,无需手动close with open("D:/Others/name.txt", "r") as name_file: # 用strip()移除字符串首尾的空白字符(包括换行符、空格等) data = name_file.readline().strip() # 用原始字符串r"D:\"避免转义问题,或者写成"D:\\" print(os.path.join(r"D:\", data))
可选优化(如果文件仅存一行主机名)
如果name.txt里只有主机名这一行内容,也可以用read()直接读取全部内容后再去除空白:
import os with open("D:/Others/name.txt", "r") as name_file: data = name_file.read().strip() print(os.path.join(r"D:\", data))
效果验证
修改后执行代码,输出将变为D:\MyPc,符合预期的路径拼接效果。
内容的提问来源于stack exchange,提问作者Kafası Güzel Penguen
相关产品推荐
相关产品推荐

