技术问询:如何实现换行输入及将数据按行拆分粘贴避免堆叠
解决换行输入与数据分行的问题
嘿,我来帮你搞定这个换行和避免内容堆叠的需求,分两种场景给你解决方案:
1. 在代码中生成带换行的字符串(解决你给出的data变量问题)
你现在的代码是把所有sku-size-stock的内容直接拼接在一起,没有换行分隔,所以才会堆叠。最简单的办法是在每个条目末尾加上换行符\n,或者用更优雅的方式批量生成:
方法一:手动添加换行符
直接在每个条目后面加\n,让每个sku信息单独占一行:
# 假设sku0、size0~size5、stock0~stock5已经定义好 data = ( f'sku: ***{sku0}*** Size: ***{size0}*** Stock: ***{stock0}***\n' f'sku: ***{sku0}*** Size: ***{size1}*** Stock: ***{stock1}***\n' f'sku: ***{sku0}*** Size: ***{size2}*** Stock: ***{stock2}***\n' f'sku: ***{sku0}*** Size: ***{size3}*** Stock: ***{stock3}***\n' f'sku: ***{sku0}*** Size: ***{size4}*** Stock: ***{stock4}***\n' f'sku: ***{sku0}*** Size: ***{size5}*** Stock: ***{stock5}***' )
这样生成的data字符串里,每个sku信息都会单独占一行,不会堆叠。
方法二:用循环批量生成(更简洁)
如果你的size和stock是按规律存储的(比如放在列表里),用循环+join方法会更高效,避免重复写代码:
# 先把相关数据整理成列表 target_sku = sku0 sizes = [size0, size1, size2, size3, size4, size5] stocks = [stock0, stock1, stock2, stock3, stock4, stock5] # 生成每行内容,再用换行符连接 line_list = [f'sku: ***{target_sku}*** Size: ***{s}*** Stock: ***{st}***' for s, st in zip(sizes, stocks)] data = '\n'.join(line_list)
这种方式不管你有多少个size和stock,都能自动生成每行内容,而且格式统一。
2. 粘贴外部数据到单独行
如果是从外部粘贴数据到代码里,直接用三引号字符串就能保留原有的换行格式,不用手动加任何符号:
data = """ sku: ***abc123*** Size: ***S*** Stock: ***20*** sku: ***abc123*** Size: ***M*** Stock: ***15*** sku: ***abc123*** Size: ***L*** Stock: ***8*** """
把你要粘贴的内容直接放在三引号中间就行,原有的换行会被保留,每个条目自然单独占一行。
内容的提问来源于stack exchange,提问作者lizzie hopkins
相关产品推荐
相关产品推荐

