有没有办法从Python中的列表中提取和打印原始/文本字符串

有没有办法从Python中的列表中提取和打印原始/文本字符串,python,string,list,python-3.x,Python,String,List,Python 3.x,我正试图用Python 3.0编写一段代码,逐行重新格式化数据文件。代码读取每一行,将该行转换为列表,然后读取列表中的每个元素。然后修改每个列表元素并将其复制到输出文件中 问题在于某些元素包含反斜杠字符,Python会将其解释为命令或莫名其妙地忽略。Python中是否有任何方法可以读取和/或提取列表中的元素作为原始字符串或文字字符串 我的代码如下: import shlex import sys import fileinput import string inputFile = list(op

我正试图用Python 3.0编写一段代码,逐行重新格式化数据文件。代码读取每一行,将该行转换为列表,然后读取列表中的每个元素。然后修改每个列表元素并将其复制到输出文件中

问题在于某些元素包含反斜杠字符,Python会将其解释为命令或莫名其妙地忽略。Python中是否有任何方法可以读取和/或提取列表中的元素作为原始字符串或文字字符串

我的代码如下:

import shlex
import sys
import fileinput
import string
inputFile = list(open("inputfile.txt","r"))
outputFile = open("outputFile.txt","a")

for i in range(1,len(inputFile)):
    print(inputFile[i])
    line = shlex.shlex(inputFile[i], posix = True)
    line.whitespace = "\t"
    line.whitespace_split = True
    line = list(line)
    for j in range(0,3):
        cell = line[j]
        cell_1 = cell.replace("\\","\\\\")
        outputFile .write(("%s\t")%(cell_1))
    for k in range(4,len(line)):
        cell = str(line[k])
        cell_1 = cell.replace(" | ","\t")
        if cell_1 == "-":
            outputFile .write("-\t-\t")
        if cell_1 == "unknown":
            outputFile .write("unknown\t-\t")
        else:
            outputFile .write(("%s\t")%(cell_1))
输入的一个例子是: GA10034 7421353 7424287 FBgn0070093 Dpse\GA10034蛋白质水解|根据InterPro:IPR007484的电子注释推断-----未知-----肽酶活性|根据InterPro:IPR007484的电子注释推断----- --

一个示例输出行是: GA10034 7421353 7424287 DPSEGA1034根据InterPro:IPR007484电子注释推断的蛋白水解未知根据InterPro:IPR007484电子注释推断的肽酶活性-

Dpse和GA10034之间的\将在输出中删除


(该脚本还在输出中的每一新行开始处(从第二行开始)添加一个制表符;并且在输入文件中有大约3/4的地方莫名其妙地失败,声称“没有结束引号”;但我认为最好一次解决一个问题)

您的问题似乎是在创建解释反斜杠和引号的解析器时指定了
posix=True
。但是,听起来你不想要这些行为,所以你应该使用
posix=False

你能添加一个带有输入和所需输出的示例吗?所以。。。你的实际问题是什么?预期输出是什么,与实际输出相比如何?如果你真的告诉我们你看到了什么问题,你会得到更多的关注。老实说,在我看来你可能只是想得太多了。谢谢盖布!这解决了问题。