嘿,我知道这已被问过几次了,但是我为它编写了自己的代码,但它没有用,我不明白为什么。这是我的代码
def fixfiles ():
inputfilehandle = open("C:/allCHP1seq.txt","r")
outputf=open("chp1seqs.txt","w")
lines = inputfilehandle.readlines()
for line in lines:
if "c:\users" not in line:
outputf.write(line)
以下是文件中的数据示例,基本上是文件中的279个,由2行分隔。但每一个都是独一无二的,我需要做的就是在开始时删除指定目录的位。
c:\users\gary\desktop\sequences for chp1\14-3 1076.txt
>fig|6666666.13395.peg.1076
atgatcaaagaaaccgaaaaaccgccaaccaccctctttaccgtcgtccc
cgacacccctaccgaaaccctgctgatcaacagctacgaaaccgtgtgtt
ccgtcagcaccctgctgctcgacttgtccgaagacctcaccggcaaacac
cgcgatatcgccttggccattcatcagttgagcgaactgagcgtcctgct
ggtgggcaaagccatggaccagcacacaccccgctgctga
我真的没有看到我出错的地方:/帮助!
答案 0 :(得分:3)
你应该写:
if r"c:\users" not in line:
答案 1 :(得分:2)
我想你应该逃避\
:"c:\\users"
而不是"c:\users"
。
答案 2 :(得分:1)
您需要escape your backslash。为了好玩,这是一个单线解决方案:
open("chp1seqs.txt","w").writelines(filter(lambda line: "c:\\users" in line, open("C:/allCHP1seq.txt","r").readlines()))
答案 3 :(得分:0)
把它们切掉。它比测试每一行更有效,特别是当你知道问题只有前两行时:
def fixfiles ():
inputfilehandle = open("C:/allCHP1seq.txt","r")
outputf=open("chp1seqs.txt","w")
lines = inputfilehandle.readlines()[2:]
for line in lines:
outputf.write(line)