Python 编辑iOS:删除每行中的第一个字符
我正在尝试创建一个编辑工作流,以删除文件中每行的前六个字符 目前,我已经构建了一个由三个步骤组成的新Workfow:Python 编辑iOS:删除每行中的第一个字符,python,ios,Python,Ios,我正在尝试创建一个编辑工作流,以删除文件中每行的前六个字符 目前,我已经构建了一个由三个步骤组成的新Workfow: 获取所选文本 自定义Python脚本 替换所选文本 我的Python脚本是: #coding: utf-8 import workflow action_in = workflow.get_input() text = open("temp.txt", "w+") text.write(action_in) lines = text.readlines() for line
#coding: utf-8
import workflow
action_in = workflow.get_input()
text = open("temp.txt", "w+")
text.write(action_in)
lines = text.readlines()
for line in lines:
text.write(line[6:])
action_out = text.read()
workflow.set_output(action_out)
事实上,当我尝试在线使用此工作流时,它只是将其删除
我该怎么办
提前谢谢。我想问题是您需要关闭“temp.txt”,然后重新打开它。这对我很有用:
import workflow
action_in = workflow.get_input()
text = open("temp.txt", "w+")
text.write(action_in)
text.close()
text = open("temp.txt", "r")
lines = text.readlines()
text.close()
text = open("temp.txt", "w+")
for line in lines:
text.write(line[6:])
text.close()
text = open("temp.txt", "r")
action_out = text.read()
workflow.set_output(action_out)
初始“打开”语句中的“w+”会擦除文件并将其打开以进行读/写操作;但是,文件指针将跟随写入操作。最安全的方法是在完成后关闭文件,然后重新打开以重置文件指针并获取所需数据
由于您使用的是w+,因此可能还可以使用.seek()重新定位文件指针,具体取决于缓存。但是,如果您只需要大纲,则无需打开临时文件即可执行此操作
import workflow
action_in = workflow.get_input()
lines = []
for line in action_in.split("\n"):
lines.append(line[6:])
action_out = "\n".join(lines)
workflow.set_output(action_out)