文本文件,os,shutil

print('hello world')
#文本文件的写入

'''
f=('a.txt','a')
s='sxt\nbaizhanchengxuyuan\n'
f.write(s)
f.close()
'''


try:
    f=open(r'demo.py','w')
    strs=['aabbcc']
    f.writelines(strs)
except BaseException as a:
    print(a)
finally:
    f.close()


##with
with open(r'demo','a') as f:
    f.write('ahbda')



#文本文件的读取
##read()
with open(r'demo','r') as f:
    print(f.read())

##readline()
with open(r'demo','r') as f:
    while True:
        r=f.readline()
        if not r:
            break
        else:
            print(r,end='')


###练习
with open('demo','r') as f:
    lines=f.readlines()
    print(lines)
    lines=(line.rstrip()+' #'+str(index+1)+'\n' for index,line in enumerate(lines))

with open('demo','w') as f:
    f.writelines(lines)
    



##二进制文件的读写
with open('demo','rb') as r:
    with open('copy.demo','wb') as w:
        for line in r.readlines():
            w.write(line)


##seek(),tell()
with open('demo','r') as f:
    print('文件名是{0}'.format(f.name))
    print(f.tell())
    print('读取的内容:{0}'.format(str(f.readline())))
    print(f.tell())
    f.seek(3)
    print(f.tell())
    print('读取的内容:{0}'.format(str(f.readline())))
    

##序列化和反序列化
import pickle
a1='yang'
a2=[8907]
a3='12345'

with open('data.dat','wb') as f:
    pickle.dump(a1,f)
    pickle.dump(a2,f)
    pickle.dump(a3,f)

with open('data.dat','rb') as f:
    b1=pickle.load(f)
    b2=pickle.load(f)
    b3=pickle.load(f)
    print(b1,b2,b3)


##csv的读取和写入
import csv
with open('dd.csv','r') as f:
    a_csv=csv.reader(f)
    for row in a_csv:
        print(row)

with open ('ee.csv','w') as f:
    b_csv=csv.writer(f)
    b_csv.writerow(['123,234','678'])
    b_csv.writerow()



##os调用文件
import os
####os.system('cmd')
###os直接调用可执行的文件
os.startfile(r'D:\Program Files (x86)\Tencent\QQLive\QQLive.exe')


import os
print(os.name)
print(os.sep)
print(os.getcwd())
#os.mkdir('movie')
#os.rmdir('movie')
#os.makedirs('movie/action/chenglong')
#os.removedirs('movie/action/chenglong')
#os.makedirs('../music/pop/zhoujielun')
#os.removedirs('../music/pop/zhoujielun')

#os.rename('movie','film')
a=os.listdir('film')
print(a)



###os小练习
import os
p=os.getcwd()
file_list=os.listdir(p)
print(file_list)
for filename in file_list:
    if filename.endswith('py'):
        print(filename,end='\t')

print('#####################################')
for i in [filename for filename in file_list if filename.endswith('py') ]:
    print(i,end='\t')
   

import os

all_files=[]
path=os.getcwd()
list_files=os.walk(path)

for dirpath,dirnames,filenames in list_files:
    for dir in  dirnames:
        all_files.append(os.path.join(dirpath,dir))
    for file in filenames:
        all_files.append(os.path.join(dirpath,file))

for file in all_files:
    print(file)


##shutil模块
import shutil
#shutil.copyfile('1.txt','copy1.txt')
shutil.copytree('film','movie')

###压缩
import shutil
import zipfile
#shutil.make_archive('film/gg','zip','movie/action')
#z1=zipfile.ZipFile('d:/a.zip','w')
#z1.write('1.txt')
#z1.write('copy.demo')
#z1.close()

z2=zipfile.ZipFile('d:/a.zip','r')
z2.extractall('film')
z2.close()



#递归算法
##递归算法计算阶乘
def factorial(n):
    if n==1:
        return 1
    else:
        return n*factorial(n-1)

print(factorial(6))




















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值