Python文件操作

文件操作

读文件操作

read()一个参数 读取指定长度的内容

f = open("test.txt","r")
print(f.read(10))   #打印前10行

readline()没有参数,读取一行

print(f.readline())

readlines()读取全部内容。返回一个列表,每个元素为每行内容

写文件操作

write()写一段内容,参数就是写入文件的内容

f.open("test.txt","w")
f.write("hello world")

writelines() 接受一个列表,输入列表的每一个元素

list1 = ["I\n","am\n","angle\n"]
f.writelines(list1)
关闭文件

f.close()

#刷新缓存区的三种条件
#1、增加缓存区
f.open("test.txt","w",256)
#2、刷新文件
f.flush()
#3、关闭文件
f.close()
操作文件指针

seek() 偏移文件指针的位置,默认从文件开始处计算,默认没有第二个参数,第二个参数mode=0从头开始,mode=1从当前位置开始,mode=2 从尾部开始

f.seek(-10,2) #从尾开始偏移10个

tell()查询文件指针当前位置,返回当前位置到文件开头的偏移量

print("当前文件指针位置"+str(f.tell()))
示例
#操作一个文件
import sys
#取命令行三个参数:
#1、内容输入文件路径
input_file_path = sys.argv[1]
#2、内容输出文件路径
output_file_path = sys.argv[2]
#3、输出文件大小
output_size = int(sys.argv[3]) * 1024 *1024

total_size = 0
index = 0

input_file = open(input_file_path,"r")
output_file = open(otput_file_path."w")
#提取内容,每个元素是每一行内容
input_data = input_file.readlines()

while True:
    #当输出文件大小小于预期是,跳出循环
    if total_size > output_size:
        break
    #写一行内容进输出文件
    output_file.write(input_data[index % len(input_data)])
    #输出文件大小按照输入长度增加
    total_size += len(input_data[index % len(input_data)]]
    #行号加一
    index += 1
#循环结束,关闭文件
output_file.close()
input_file.close()
    

从大文件中读取一个屏幕的内容,按任意键翻页,按Q退出

import os,sys
#内容显示函数
def Printscreen(f):
    #行数计数器
    line_num = 0
    #循环遍历文件对象,按行输出
    for line in f:
    #到25行结束
        if line_num > 25:
            break
        print line
        line_num += 1
#取文件路径
path = sys.argv[1]
#打开文件
f = open(path,"r")

while True:
     #执行Linux命令,清屏
     os.system("clear")
     #输出内容
     Printfscreen(f)
     #获取用户输入
     command = raw_input(".")
     #q键退出,其他键翻页
     if command == "q":
         break
 f.close() 

实用的路径的函数

#!/usr/bin/env python
'''文件路径操作方法‘’‘
import os.path
#从路径截取文件名
print(os.path.basename("路径/文件名"))
#从路径截取文件所在目录
print(os.path.dirname("路径/文件名"))
#切割路径,返回文件所在目录和文件名 返回为元组
print(os.path.split("路径/文件名"))
#返回文件路径和文件后缀
print(os.path.splitext("路径/文件名"))

生成一个py文件并执行,打印hello world

import os.stat
#os.path.exists方法根据路径判断文件是否存在,返回bool值
#判断文件是否存在,存在则删掉
if os.path.exists("hello.py"):
    os.remove("hello.py")
#生成指定文件
os.mknod("hello.py")
f = os.open("hello.py",os.O_RDWR)
os.write(f,"#!/usr/bin/env python\nprint("Hello world!")")
os.close(f)
#更改文件权限可执行
os.chmod("hello.py",stat.S_IRUSR | stat.S_IXUSR)
#os.chmod("hello.py",320)
os.system("./hello.py")

你可能感兴趣的:(python)