import os
ls = os.linesep
def func1():
filename = raw_input(‘enter file name:’)
f = open(filename,’w’)
while true:
alline = raw_input(“enter a line (‘.’ to quit):”)
if alline != ‘.’:
f.write(“%s%s”%(alline,ls))
else:
break
f.close()
def func2():
f = open(‘e:\\thefile.txt’,’w+’)
print f.tell()
f.write(‘the line 1\n’)
print f.tell()
f.write(‘the line 2\n’)
print f.tell()
f.seek(-12,1)
print f.readline()
print f.tell()
f.seek(0,0)
print f.readline()
print f.tell()
f.close()
import sys
import os
def func3():
print ‘you are’,len(sys.argv),’arguments’
print ‘there are’,str(sys.argv)
def func4():
for tmpdir in (‘e:\\’,’d:\\’):
if os.path.isdir(tmpdir):
break
else:
print ‘no directory available’
tmpdir = ”
if tmpdir:
os.chdir(tmpdir)
cwd = os.getcwd()
print ‘current directory’,cwd
print ‘create example directory’
#os.mkdir(‘example’)
#os.chdir(‘example’)
cwd = os.getcwd()
print ‘new directory’,cwd
print ‘directory list’
os.listdir(cwd)
print ‘create test file’
f = open(‘test’,’w’)
f.write(‘test\n’)
f.write(‘test\n’)
f.close()
print ‘update directory list’
print os.listdir(cwd)
print ‘rename test to filetest’
#os.rename(‘test’,’filetest’)
print ‘update directory list’
print os.listdir(cwd)
path = os.path.join(cwd,os.listdir(cwd)[0])
print ‘full file pathname’
print path
print ‘pathname,basename’
print os.path.split(path)
print ‘filename,extension’
print os.path.basename(path)
print os.path.splitext(os.path.basename(path))
print ‘display file contents’
f = open(‘test’,’r’)
for eachline in f:
print eachline
f.close()
print ‘delete test file’
os.remove(path)
print ‘update directory list’
print os.listdir(cwd)
os.chdir(os.pardir)
print ‘delete test directory’
os.rmdir(‘example’)
print ‘done’
def func5():
print os.path.expanduser(“~”)
def func6():
filename = raw_input(‘input file:’)
f = open(filename,’r’)
for eachline in f:
if not eachline.strip().startswith(‘#’):
print eachline
def func7():
filename = raw_input(‘input file:’)
f = open(filename,’r’)
for eachline in f:
if not ‘#’ in eachline[1:]:
print eachline
f.close()
def func8():
filename = raw_input(‘input file:’)
line = int(raw_input(‘input line number:’))
f = open(filename,’r’)
for eachline in f:
if line:
print eachline
line -= 1
else:
break
def func9():
filename = raw_input(‘input file:’)
lines = open(filename,’r’).readlines()
return len(lines)
import os
def func10():
ls = os.linesep
with open(‘e:\\tmp.txt’,’a+’) as f:
for i in range(100):
f.write(“%s%s”%(i,ls))
with open(‘e:\\tmp.txt’,’r’) as f:
num = 1
for eachline in f:
if num % 26 != 0:
print eachline
num += 1
else:
go = raw_input(‘continue,press c to quit’)
num += 1
if go == ‘c’:
break
def func11(file1,file2):
alines = open(file1,’r’)
blines = open(file2,’r’)
row = 0
for (aline,bline) in zip(alines,blines):
row += 1
if aline == bline:
pass
else:
col = 0
print row
for (a,b) in zip(aline,bline):
if a == b:
col += 1
else:
print col
alines.close()
blines.close()
from configparser import configparser
def func12():
cp = configparser()
#print os.path.join(‘c:\\windows\\’,’win.ini’)
cp.read(os.path.join(‘c:\\windows\\’,’win.ini’))
for section in cp.sections():
#print cp.items(section)
for key in cp.options(section):
print ‘[%s]-%s=%s’%(section,key,cp.get(section,key))
cp.add_section(‘name’)
cp.set(‘name’,’test’,25)
f = open(os.path.join(“e:\\”,”test.txt”),’a’)
cp.write(f)
f.close()
def func13():
prompt = “””
(s)avings
(c)heck
(f)inancialmarket
(d)eposit
(e)xit
enter your choice:”””
function = “””
(s)avings
(d)raw
(b)orrow
(l)oan
enter your choice:”””
account = {‘s’:’savings’,’c’:’check’,’f’:’financial’,’d’:’deposit’}
fun = {‘s’:’savings’,’d’:’draw’,’b’:’borrow’,’l’:’loan’}
cf = configparser()
cf.read(‘e:\\familyaccount.ini’)
enter = raw_input(prompt).strip().lower()[0]
while true:
if enter in ‘scfd’:
print ‘welcome %s bussness’ % account[enter].lower()
section = account[enter]
select = raw_input(fun).strip()[0].lower()
if select in ‘sdbl’:
print ‘welcome %s bussness’ % fun[select]
key = fun[select]
mokey = int(raw_input(‘enter amount of money:’))
cancel = raw_input(‘cancel,please press “c”…\n’)
if cancel == ‘c’:
return false
else:
f = open(‘e:\\familyaccount.ini’,’w’)
cf.write(f)
f.close()
elif enter == ‘e’:
return false
else:
print ‘invalid operation,try again’
import sys
import os
def calc(argument):
if argument[1] == ‘+’:
return int(argument[0]) + int(argument[1])
elif argument[1] == ‘*’:
return int(argument[0]) * int(argument[1])
elif argument[1] == ‘-‘:
return int(argument[0]) – int(argument[1])
elif argument[1] == ‘**’:
return int(argument[0]) ** int(argument[1])
elif argument[1] == ‘/’:
return int(argument[0]) / int(argument[1])
#if __name__ == ‘__main__’:
if sys.argv[1:][0] == ‘print’:
with open(‘e:\\txt’,’r’) as f:
print f.read()
os.remove(‘e:\\txt’)
else:
with open(‘e:\\txt’,’w’) as f:
f.write(“”.join(sys.argv[1:]))
f.write(‘\n’)
f.write(str(calc(sys.argv[1:])))
f.write(‘\n’)
def func14():
afile = raw_input(‘input file:’)
bfile = raw_input(‘input file:’)
with open(afile,’r’) as af:
with open(bfile,’w’) as bf:
for eachline in afile:
bf.write(eachline)
with open(bfile) as bf:
print bf.read()
import os
def func15():
file = raw_input(‘enter file:’)
with open(file,’r’) as af:
with open(‘e:\\test.txt’,’w’) as bf:
for eachline in af:
if len(eachline) > 80:
alist = list(eachline)
count = len(alist) / 80
for i in range(count):
bf.write(“”.join(alist[:79]))
bf.write(‘\n’)
alist = alist[79:]
bf.write(“”.join(alist))
else:
bf.write(eachline)
bf.write(‘\n’)
with open(‘e:\\test.txt’,’r’) as bf:
with open(file,’w’) as af:
for eachline in bf:
af.write(eachline)
os.remove(‘e:\\test.txt’)
def createfile():
file = raw_input(‘input filename:’)
content = raw_input(‘input file content:’)
f = open(file,’a+’)
f.write(content)
f.write(‘\n’)
f.close()
def viewfile():
file = raw_input(‘input filename:’)
strtemp = ”
f = open(file,’r’)
for eachline in f:
strtemp = strtemp + eachline
return strtemp
def editfile():
file = raw_input(‘input filename:’)
line = int(raw_input(‘input line number:’))
newline = raw_input(‘input new line number:’)
f = open(file,’r’)
lines = f.readlines()
f.close()
if line > len(lines):
return false
lines[line-1] = newline
f = open(file,’w’)
f.writelines(lines)
f.close()
def showmenu():
prompt = “””
a)创建文件(提示输入文件名和任意行的文本输入)
b)显示文件(把文件的内容显示到屏幕)
c)编辑文件(提示输入要修改的行,然后让用户进行修改)
d)保存文件
e)退出
请输入操作选项(a、b、c、d、e):”””
while true:
try:
commnet = raw_input(prompt).strip()[0].lower()
except(keyboardinterrupt,eoferror):
commnet = ‘e’
if commnet == ‘a’:
createfile()
elif commnet == ‘b’:
viewfile()
elif commnet == ‘c’:
editfile()
elif commnet == ‘d’:
pass
elif commnet == ‘e’:
break
else:
continue
#if __name__ == ‘__main__’:
# showmenu()
def func16():
filename = raw_input(‘input file:’)
filech = raw_input(‘input file character:’)
countnum = 0
with open(filename,’r’) as f:
for eachline in f:
countnum += eachline.count(filech)
print ‘character %s is count %d’ % (filech,countnum)
import random
def func17(ch,countnum,length):
firstlength = 0
num = []
while firstlength – countnum:
chara = random.choice(xrange(255))
if ch == chara:
continue
else:
num.append(chara)
firstlength -= 1
for i in range(countnum):
num.append(ch)
newnum = []
while length:
i = int(random.random() * length)
newnum.append(num[i])
del num[i]
length -= 1
return newnum
import zipfile
def func18(filename):
with zipfile.zipfile(‘e:\\hello.zip’,’w’) as f:
f.write(filename)
def func19(dirname):
with zipfile.zipfile(‘e:\\test.zip’,’w’) as f:
for root,dirs,files in os.walk(dirname):
f.write(root)
for file in files:
f.write(os.path.join(root,file))
import time
def func20():
filename = raw_input(‘zip file name:’)
print ‘size:%.2f’ % (float(os.stat(filename).st_size)/1024/1024),”mb”
f = zipfile.zipfile(filename,’r’)
print ‘filename datetime size compresssize rate’
for info in f.infolist():
#t = time.ctime(time.mktime(tuple(list(info.date_time) + [0,0,0])))
#print ‘%s\t%s\t%d\t%d\t’ % (info.filename,t,info.file_size,
# info.compress_size)
print info.filename,info.file_size,info.compress_size
f.close()
以上就是python基础学习代码之文件和输入输出的内容,更多相关内容请关注php中文网(www.php1.cn)!