python 文件的读写操作

python基础–文件操作

一、文件介绍

文件大体上分为文本文件和二进制文件,在python操作中,读写文件的方法调用只进行路径(path)和文件(file)的区分

二、文件的读写操作

c = open('f:\\a.txt','r')
dict1 = []
while True:
    a = c.readline()
    if len(a) <= 1:
        break
    b = a.split(',')
    d = [b[i].split(':')for i in range(len(b))]
    v = {}
    for i in range(len(d)-1):
        v.update((lambda x,y:{x:y})(d[i][0],d[i][1]))
    k = d[len(d)-1][1].replace('\n','')
    dict = {}
    dict.update((lambda k,v:{k:v})(k,v))
    dict1.append(dict)
import os
a = input('输入路径')
c = a.split('\\')
b = ''
for i in range(len(c)):
    b += c[i] + '\\'
    if not os.path.exists(b):
        os.mkdir(b)
        
b = a.read()
print(b)
a.close()  # 用完以后记得关掉,减少内存占用
print(a.read(3))  # 读取前三个字符并输出
print(a.read())  # 打印。读取全部
print(a.readline()) # 按行读取在行尾添加\n,在输出中显示多跳一行
print(a.readlines()) # 读取全部,以列表形式返回,每行作为列表中的一个元素
w = open('f:\\a.txt','w')
w.write('写入的内容')
w.writelines(['asd','asda','asd'])  # 和readlines相反的功能,一次性多行写入
import  os
os.rename('文件名','新文件名') # 重命名文件
os.remove('文件名')
os.mkdir('目录') # 新建目录(路径)
os.rmdir('要删除的目录')  # 删除目录(只能删空目录)
os.makedirs('多级目录') # 直接创建一个多级目录
os.removedirs('删除多级目录')
print(os.getcwd())  # 获取当前工作目录
os.chdir('新的目录') # 更改当前动作目录
print(os.path.exists('目录或文件')) # 判断是否存在
print(os.path.isfile('判断是不是文件(不是目录的都是文件'))
print(os.path.isdir('是不是目录'))
import os
print(os.path.abspath('a.txt'))
print(os.path.isabs('我是不是绝对路径'))
print(os.path.basename('我的基础名称'))
print(__file__)  #当前文件的路径

``
## 三、实例应用

用户输入文件名以及开始搜索的路径,搜索该文件是否存在,如遇到文件夹,则进入文件夹继续搜索
file = input(‘请输入文件名’)
path = input(‘请输入路径’)

path_list = path.split(’\’)

import os
while len(path_list)>0:
print( os.listdir( ‘C:\Program Files\Notepad++\localization’ ) )
def find(path,file):
if os.path.exists(path):
lst = os.listdir(path)
for each in lst:
if each == file:
print(‘给定文件在’,os.path.abspath(each))
break
elif os.path.exists(each):
return find(each,file)
else:
print(‘给定目录下未找到该文件’)
else:
print(‘文件目录错误’)
find(input(‘请输入路径’),input(‘请输入文件名’))

english.xml

自定义创建目录方法
def make_path(path):
lst = path.split(’\’)
for path in lst :
if not os.path.exists(path):
os.mkdir(path)
os.chdir( path )
else:os.chdir(path)
make_path(input(‘请输入’))

通过给定的文件夹, :列举出这个文件夹当中, 所有的文件,以及文件夹, 子文件夹当中的所有文件
list = []
def lstpath(path):
if os.path.exists(path):
# print(path)
lst1 = os.listdir(path)
# print(lst1)
lst2 = []
for each in lst1:
if os.path.isfile(each):
lst2.append(each)
print(lst2)
else:
return lstpath(each)
list.append(lst2)
print(list)
lstpath(‘C:\Program Files\Notepad++\localization’)
print(list)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值