0

私は巨大なtxtファイルを持っています。メモリエラーが出てreadlines()で読めなくなったので、fileinputを使い始めました。その行のいくつかを別のファイルに書き込む必要があるまで、それはうまく機能します。ここに私のスクリプトのその部分があります:

input_4=fileinput.input([plik0_a])
out=open('out_file','w')
for i in range(s,e):
    out.writelines('%s' % input[i])

== i の行の書き方を教えてください。難しくはないと思いますが、私は初心者です:)。

巨大なファイルでそのように機能するものが必要です(以下のスクリプトの一部)。

n=10918 
s=(int(start)-n) 
e=(int(end)-n+1)                                                
czyta_4=open(plik0_a,'r') 
zczyta_4=czyta_4.readlines()
for i in range(s,e):
  out.writelines('%s' % i +': '+ '%s' % zczyta_4[i])

私が得た結果(そして私は巨大なファイルで取得したい)を以下に示します:

0: fixedStep chrom=chr1 start=10918 step=1
1: 0.064 
2: 0.058 
3: 0.064 
4: 0.058 
5: 0.064 
6: 0.064 
7: 0.064 
8: 0.064 
9: 0.064 
10: 0.058
.
.
.
s : 0.058
4

3 に答える 3

0
infile = open('infile.txt', 'r')
outfile=open('outfile.txt', 'w')
line=[]
for a in infile:
    line.append(a)
outfile.write(line[number of line to be printed])

## example: If you want to print first line
## outfile.write(line[0])
## outfile.write(line[1]) ## for second line
## if you have a list of lines to be printed
infile = open('infile.txt', 'r')
outfile=open('outfile.txt', 'w')
line=[]
for a in infile:
    line.append(a)
line_list =[] ## list of line numbers
for b in line_list:
    outfile.write(line[b])
于 2013-08-07T23:54:26.493 に答える