Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 编辑iOS:删除每行中的第一个字符_Python_Ios - Fatal编程技术网

Python 编辑iOS:删除每行中的第一个字符

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

我正在尝试创建一个编辑工作流,以删除文件中每行的前六个字符

目前,我已经构建了一个由三个步骤组成的新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 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)