您的位置:首页 > 编程语言 > Python开发

python的io 与java的io流的使用及对象的序列化

2017-10-08 10:51 866 查看
io的使用
采用流技术:
字节
inputStream/outputStream
字符
reader/writer
首先介绍的是java的io的使用方法 在下面的案例中d:/demo这些是你本地的路径,需要你自己去创建的
public class Testio {public static void main(String[] args) {//输入输出选择字符try {//            InputStream in =new FileInputStream("D:/demo/a/1.jpg");//池塘//            OutputStream out=new FileOutputStream("D:/demo/b/1.jpg");//新池塘////            byte[] buffer=new byte[1024];//            int len=0;////            //泵//            while(true){//                len=in.read(buffer);//管道//                if(len==-1){//                    break;//                }//                out.write(buffer,0,len);//                out.flush();//            }//            out.close();//            in.close();//            System.out.println("ok");//字节流的读写BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream("D:/demo/a/介绍.txt"),"gbk"));PrintWriter out=new PrintWriter(new OutputStreamWriter(new FileOutputStream("D:/demo/b/介绍.txt"),"utf-8"));String  str=null;while (true){str=in.readLine();if(str==null){break;}out.println(str);out.flush();}out.close();in.close();System.out.println("ok");} catch (Exception e) {e.printStackTrace();}}}
各个方法的使用可以参照他的api 这个简单的案例就把各个io的使用整合到了一起
f=open("D:/demo/a/介绍.txt")of=open("D:/demo/b/介绍p.txt","w")for line in f:of.write(line)print("ok")# 用默认的缓冲区t=open("D:/demo/a/1.jpg","rb")t1=open("D:/demo/b/123.jpg","wb")for tu in t:t1.write(tu)print("ok")#自定义的缓冲区t=open("D:/demo/a/1.jpg","rb")t1=open("D:/demo/b/1234.jpg","wb")t.seek(0,2);#文件定位# tell()方法告诉你文件内的当前位置;换句话说,下一次的读写会发生在文件开头这么多字节之后。# seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。# 如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。size=t.tell();t.seek(0,0)ofsize=0;n=0;while True:if ofsize>size:break;b=t.read(10240)t1.write(b)ofsize+=10240;n+=1;print(n)#截取的一半t=open("D:/demo/a/1.jpg","rb")t1=open("D:/demo/b/1234.jpg","wb")t.seek(0,2);size=t.tell();t.seek(0,0)ofsize=size/3;n=0;while True:if ofsize>size:break;b=t.read(10240)t1.write(b)ofsize+=10240;n+=1;print(n)#对象的序列华import  pickleclass Person:def __init__(self,name=None,age=None):self.name=name;self.age=age;def __str__(self):return "卡吉瑟的卡号大 啊撒旦"#序列化对象,把对象保存到本地p=Person()pickle._dump(p,open("D:/demo/b/Person.data","wb"))print(p)#把 本地的对象取出来p1=pickle.load(open("D:/demo/b/Person.data","rb"))print(p1)#把文件夹中的文件放到另一个里面#方法一:import shutilold="D:/demo/a"new=old[len(old)-1:]new1="D:/demo/b/"new1=new1+newshutil.copytree(old, new1)
在上述的案例中每一个案例中都有相对应的解释大家可以参照去理解

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: