zoukankan      html  css  js  c++  java
  • Python文件

    #文件的模式

    # 'r','w','a'
    w模式(write)
    1 def write():
    2     fw = open('test.txt','w')       #w写模式会覆盖数据,并且如果文件不存在就会创建该文件
    3     fw.write('你好啊,世界')
    4     fw.write('
    再见,蜘蛛侠sssw')        #
    相对于换行输入
    5     line = ['
    wo','
    思考方式','
    akdfk']
    6     fw.writelines(line)         #writelines写入多行,参数可以是变量,列表等等
    7     # fw.write(line)      #报错,write()参数只能是字符串
    8     fw.close()
    9 write()
    
    

      r模式(read)

    
    
     1 def read():
     2     fr = open('test.txt','r')      #读方式打开文件
     3     fr_content = fr.read()      #read()没有指定参数,就读取所有数据,指定了参数,就读取对应多个的字符
     4     fr_content_line = fr.readline()
     5     fr_content_line1 = fr.readline()        #readline()每次读一行,文件对象会记录上次read读到的地方,下次调用就会读下一行
     6     fr_content_line2 = fr.readline()        #注意,read对象记录的读取位置包括全部读取函数读取的位置,再次调用读取函数就会从最后的位置
     7                                             #开始读,如果读完,再次读取就为空
     8     fr_readlines = fr.readlines()       #readlines()会读取多行,默认读全部,
     9     for r_line in fr_readlines:         #for循环将readlines结果不空行打印出来,把readlines()返回列表元素的
    删除
    10         if r_line[-1:] == '
    ':         #调试模式下可以看到,'
    '只占用了一个字符
    11             r_line_rmv = r_line[:-1]        #列表里的字符串类型数据是不可改变的,要使用更改后的字符串就要通过赋值给新的字符串对象
    12             print(r_line_rmv)
    13         else:
    14             print(r_line)
    15     fr.close()
    16     print(fr_content)
    17     print(fr_content_line)
    18     print(fr_content_line1)
    19     print(fr_content_line2)
    20     print(fr_readlines)
    21 read()
    
    
    a模式(append)
    1 f = open('test.txt','a',encoding='utf-8')    #a追加模式打开文件
    2 fadd = '这是追加的文件内容!!!
    '   #写入的内容
    3 f.write(fadd)       #write()写入
    4 f = close()     #关闭文件
    
    
    
    1 file = open('gsf.txt','a+',encoding='utf-8')
    2 file.write('
    8-18')
    3 # read_file = file.read()     #输出为空,'a+'模式不能读read()?
    4 file.close()
    1 file = open('gsf.txt','r+',encoding='utf-8')
    2 read_file = file.read()
    3 seek_file = file.seek(80)   #seek(,)第一个参数为读取的长度,第二个参数为读取的位置(0代表从头开始读,1代表从当前位置开始读,2代表从后面开始读)
    4 file_tell = file.tell()     #tell()返回当前指针位置,比如这里返回80
    5 file.close()
    6 print(read_file)

    文件拷贝

     1 # 文件拷贝
     2 #1.获得要拷贝的原文件名
     3 old_file = input('输入文件名:')
     4 # 2.设置新的文件名
     5 new_file_name = old_file + '.bk'
     6 # 3.打开新的文件
     7 file_old = open(old_file,'rb')      #用二进制格式读和写可以保证文件原封不动的复制
     8 file_new = open(new_file_name,'wb')
     9 # 4.将老文件内容写到新文件里
    10 old_content = file_old.read()
    11 file_new.write(old_content)
    12 # print(file_new.read())
    13 # 5.关闭新老文件
    14 file_old.close()
    15 file_new.close()

    文件重命名和删除操作

    1 import os   #导入os模块,和文件相关的函数在这个模块
    2 def file_rename():  #文件重命名
    3     os.rename('test.txt.bk','test_copy.txt')    #rename()更改文件名字
    4 
    5 file_rename()
    6 
    7 def file_remove():  #删除文件
    8     os.remove('test_copy.txt')      #如果只写文件名,默认就在当前目录下找文件,找不到就报错,可以用文件的完整路径找其他地方的文件
    9 file_remove()

    目录的创建和删除

     1 def dir_make():
     2     # os.mkdir(r'‪C:UsersyxDesktoppython_make_file')      #报错,文件名不符合windows规范,OSError: [WinError 123] 文件名、
     3     #            文件路径前加 r 是防止字符转义,防止路径组成特殊符号                                             # 目录名或卷标语法不正确。: 'u202aC:/Users/yx/Desktop/python_make_file'
     4 
     5     os.mkdir(r'‪C:UsersyxDesktoppython_make_file'.strip('u202a'))  #去掉开头的u202a,文件夹(目录)创建成功
     6 dir_make()
     7 
     8 def dir_remove():
     9     os.rmdir(r'‪C:UsersyxDesktoppython_make_file'.strip('u202a'))      #rmdir()删对应路径的文件夹
    10 dir_remove()

    查看目录文件列表,查看、更改工作目录

    
    
     1 def get_dir_list():
     2     dir_list = os.listdir()     #listdir()返回目录下的文件列表,默认为当前目录下
     3     print(dir_list)
     4 get_dir_list()
     5 
     6 def get_cwd():    #current workspace directory -> cwd 当前工作目录
     7     cwd = os.getcwd()       #返回当前的工作目录路径
     8     os.chdir(r'‪C:UsersyxDesktoppython_make_file')      #chdir()更改工作目录,更改工作目录后,所有的操作,
     9                                                             # 比如创建文件、目录,等等操作都会默认在该目录下进行
    10     print(cwd)
    11 get_cwd()
    
    

     循环写入文件

     1 import random
     2 
     3 
     4 def createBoeNo():
     5     boeNo = ['JW']
     6     for i in range(0,10):
     7         j = str(random.randint(0,9))
     8         boeNo.append(j)
     9     boeNo1 = ''.join(boeNo)     #将列表转换为字符串,join函数插入空
    10     # print(boeNo1)
    11     return boeNo1
    12 
    13 
    14 def writeText():
    15     a = 1
    16     fw = open('test.txt', 'w')
    17     # fw.write(boeNo)
    18     while a < 5000:
    19         boeNo = createBoeNo()
    20         fw.write(boeNo + ','+'importMark' + ',' + 'count' + '
    ')
    21         a += 1
    22     fw.close()
    23 
    24 
    25 def clear():
    26     f = open('test.txt', 'r+')
    27     f.truncate(0)
    28     f.close()
    29 
    30 
    31 writeText()
     
  • 相关阅读:
    perl自定义简易的面向对象的栈与队列类
    java idea实现.java文件编译成class并运行
    git代码管理及提交
    k8s和docker的区别
    pycharm查看代码结构的方法
    ssh 登录的方式
    excel分析数据绘制统计直方图
    linux普通用户使用yum安装nginx,并使用nginx
    iterm2 + virtualbox + centos环境搭建
    python源码安装
  • 原文地址:https://www.cnblogs.com/x991788x/p/13511323.html
Copyright © 2011-2022 走看看