第九章

来源:互联网 发布:java编写程序输出图形 编辑:程序博客网 时间:2024/04/28 08:19

9.1 :
待处理的文档:
#test line 1
#test line 2
#test line 3
test line 4
test line 5
test line 6
test line 7
test line 8
#1test line 9
#2test line 10

处理代码

import os
import string
alphas=string.letters

fobj=open(r'c:/12.txt','r')
allLines=fobj.readlines()
fobj.close()

fobj=open(r'c:/result.txt','w')
for line in allLines:
    if line[0] !='#':
        fobj.write(line)
    elif line[1] not in alphas:
        fobj.write(line)
fobj.close()

处理后的结果:
test line 4
test line 5
test line 6
test line 7
test line 8
#1test line 9
#2test line 10

9.2
import os
fobj=open(raw_input('Please enter your filename location'),'r')
number=int(raw_input('Please enter the lines:'))
i=0
for eachLine in fobj:
    if i==number:
        break
    print eachLine,
    i+=1
fobj.close()

 

处理后的结果:
#test line 1
#test line 2
#test line 3

 

9.3
import sys
if sys.argv[1]==0:
    print 'Must type filename'
else:
    fobj=open(sys.argv[1],'r')
    i=0
    for line in fobj:
        i+=1
    print sys.argv[0],'has',i,'lines'
    fobj.close()

 

处理后的结果:
Script1.py has 10 lines

 

9.4

 import sys
if sys.argv[1]==0:
    print 'Must type filename'
else:
    fobj=open(sys.argv[1],'r')
    i=0
    for eachLine in fobj:
        if i % 5==0 and i!=0:
            check=raw_input('Enter any key to contineu: ')
            print eachLine,
        else:
            print eachLine,
        i+=1
    fobj.close()

 

9.5

import sys
import os
def attainment_Test(x):  
    if x<0 or x>100 :  
      return 'It is a invalid number!'
    elif x<60:  
       return "F"   
    elif 60<= x <=69:  
        return "D" 
    elif 70<= x <=79:  
       return 'C'
    elif 80<= x <=89:  
     return 'B'
    else :  
      return 'A' 


if sys.argv[1]==0:
    print 'Please enter the necessary argu for filename: '
else:
    fobj=open(sys.argv[1],'r')
    lines=fobj.readlines()
    fobj.close()
    fobj=open(r'c:/result.txt','w')
    for eachLine in lines:
        if eachLine[-1]=='/n':
            eachLine=eachLine[0:-1]
        fobj.write(str(eachLine)+"   ***   "+attainment_Test(int(eachLine))+'/n')
   
    fobj.close()

9.6