精华内容
下载资源
问答
  • FILE *fp = NULL; errno_t ret =fopen_s(&fp,"D:\\1.txt", "r"); cout ; //ret = fopen_s(&fp,"D:\\1.txt", "r"); cout 可以。 FILE *fp = NULL;... errno_t ret =fopen_s(&fp,"D:\\1.txt", "w");
    	FILE *fp = NULL;
    	errno_t ret =fopen_s(&fp,"D:\\1.txt", "r");
    	cout << ret << endl;
    	//ret = fopen_s(&fp,"D:\\1.txt", "r");
    	cout << ret << endl;

    可以。

    	FILE *fp = NULL;
    	errno_t ret =fopen_s(&fp,"D:\\1.txt", "w");
    	cout << ret << endl;
    	//ret = fopen_s(&fp,"D:\\1.txt", "r");
    	cout << ret << endl;

    不行。


    解释OUTLOOK,不调用其quit方法的话,会造成.psp文件不能释放。

    分析原因:

    OUTLOOK进程虽然挂掉,但是,可能其还开启了其他的进程,由其他的进程进行.psp文件的打开。

    虽然挂掉OUTLOOK,但是,由其开启的进程没有挂掉,自然打开的文件描述符也没有被释放掉。

    展开全文
  • open函数打开文件方式

    万次阅读 2021-06-01 17:16:52
    r: 只读方式打开文件。文件的指针将会放在文件的开头。这是**默认模式**。 rb: 二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+: 打开一个文件用于读写。文件指针将会放在文件...
    r:    以只读方式打开文件。文件的指针将会放在文件的开头。这是**默认模式**。
    rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    w:    打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb:    以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    w+:    打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a:    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab:    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+:    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
    展开全文
  • Python3中打开文件方式(With open)

    万次阅读 多人点赞 2018-08-05 19:53:16
    python文件读写文件是最常见的IO操作... 读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件...

    0.背景知识 & IO操作的类型

    • python文件读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。
    • 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘。
    • 读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)

    常见的IO操作的类型如下:

    typeinfo
    r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    r+打开一个文件用于读写。文件指针将会放在文件的开头。
    w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。


    1.常规方式:读取文件-----open()


    step1: 打开

    
    f = open( '/Users/michael/test.txt', 'r' )
    
    
    • r 表示读取文件,我们就成功地打开了一个文件
    • 但是, 如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在,错误情况如下:
    
    f=open('/Users/michael/notfound.txt', 'r')
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    FileNotFoundError: [Errno 2] No such file or directory: '/Users/michael/notfound.txt'
    
    

    step2: 读取

    如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示:

    
    f.read()
    'Hello, world!'
    
    

    step3: 关闭

    最后一步是调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的:

    
    f.close()
    
    

    由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try … finally来实现:

    最终方案:

    
    try:
    	f = open('/path/to/file', 'r')
    	print(f.read())
    finally:
    	if f:
    		f.close()
    		
    


    2.推荐方式:读取文件-----With Open

    1).读取方式

    每次如果都按照如上最终方案去写的话,实在太繁琐。Python引入了with语句来自动帮我们调用close()方法
    重点:!!!with 的作用就是自动调用close()方法 !!!

    
    with open( '/path/to/file', 'r' ) as f:
    	print( f.read() ) 
    
    # 这和前面的try ... finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法
    	
    

    f.read(): 读取全部文件内容
    f.read(size): 每次读取size个字节内容
    f.readline(): 每次读取一行的内容
    f.readlines(): 读取全部内容,但结果是个list,每行内容是一个元素


    如果遇到超大文件,需要注意:

    • 调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了。
    • 要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。例如,read(1024) 每次读取1024个字节的数据内容
    • 调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。因此,要根据需要决定怎么调用。
    • 如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:
    
    for line in f.readlines():
    	print( line.strip() ) 
    
    
    # 读取文件之后,文字末尾会出现'\n'
    # strip() 函数中可以把目标内容line里面所有的空格,空行等都删除掉,只剩余文字内容
    


    2).常见的坑

    这里写图片描述

    读取静态文件的函数,最好不要写相对路径!!!

    (1)如上图,Fold001文件夹下面有个read_file.py文件,这个文件读取hello.txt文件,代码如上图,这样可以正常引用
    (2)但如果引用静态文件的函数,被其他函数再次调用的时候。 例如被Fold002里面的函数read.py调用,那么readfile()函数相当于是在read.py所在目录执行的,那么静态文件hello.txt相对于read.py的路径,就不是上图的路径了,否者会运行会报错,如下

    这里写图片描述



    3.写入内容----open()函数

    写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符’w’或者’wb’表示写文本文件或写二进制文件:

    
    f = open('/Users/michael/test.txt', 'w')
    f.write('Hello, world!')
    f.close()
    
    

    open函数使用注意地方:

    • 你可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。
    • 当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。
    • 只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险


    4.写入内容----- With Open函数

    
    with open('/Users/michael/test.txt', 'w') as f:
    	f.write('Hello, world!')
    	
    

    要写入特定编码的文本文件,请给open()函数传入encoding参数,将字符串自动转换成指定编码字符编码



    5.打开非utf-8编码的文件

    要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数,例如,读取GBK编码的文件:

    
    with open('/Users/michael/gbk.txt', 'r', encoding='gbk') as f:
        f.read()
    	
    
    • 遇到有些编码不规范的文件,你可能会遇到UnicodeDecodeError,因为在文本文件中可能夹杂了一些非法编码的字符。
    • open()函数还接收一个errors参数,errors=‘ignore’ 表示遇到编码错误的时候直接忽略
    
    with open('/Users/michael/gbk.txt', 'r', encoding='gbk',errors='ignore') as f:
        f.read()
        
    


    6.打开二进制文件

    前面讲的默认都是读取文本文件,并且是UTF-8编码的文本文件。要读取二进制文件,比如图片、视频等等,用’rb’模式打开文件即可:

    
    with open('/Users/michael/test.jpg', 'rb') as f:
        f.read()
    
    #  b'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...'            十六进制表示的字节
    
    
    展开全文
  • open() 函数 w+ 模式打开文件

    千次阅读 2019-01-11 10:21:00
    这种模式打开文件时,会先清空文件,然后才执行读写操作,当我们要执行读操作时,需要通过 seek() 方法将读取指针移到前面,才能读取...In [1]: data = open('1.txt', 'w+') # 读写模式打开文件 In [2]: data.r...

    这种模式打开文件时,会先清空文件,然后才执行读写操作,当我们要执行读操作时,需要通过 seek() 方法将读取指针移到前面,才能读取内容

    [root@localhost ~]$ cat 1.txt    # 文件内容如下
    aaa
    bbb
    ccc
    In [1]: data = open('1.txt', 'w+')   # 以读写模式打开文件
    
    In [2]: data.read()    # 如果我们执行读操作,是没有内容的,这种模式打开之前会先清空文件
    Out[2]: ''
    
    In [3]: data.write('abcd')    # 我们进行写操作,写操作是一直追加在文本末尾的
    
    In [4]: data.read()    # 读的时候也是读不到的,需要移动文件指针才能读取
    Out[4]: ''
    
    In [5]: data.seek(0)    # 把文件指针移到最前面
    
    In [6]: data.read()    # 再读取就有了
    Out[6]: 'abcd'

     

     

     

     

     

        

    转载于:https://www.cnblogs.com/pzk7788/p/10253797.html

    展开全文
  • 正在进行的项目中有个日志存储模块,需要在设备端将日志数据写到存储介质——其实就是硬盘,就是一个文件。在我测试时,发现上位机读取到的日志数据不全,明明登陆到设备看有100多KB,但读到的日志才2行,肯定有问题...
  • 我总是想用vim打开一个文件,然后在vim里面使用命令打开另外一个文件,然后可以是用n切换。找了很多网页都没找到。这个功能在windows下很实用。因为windos没有使用终端,很难同时打开跨文件夹的文件。 这里找到一个...
  • C语言文件打开方式简介

    千次阅读 2016-09-06 23:07:54
    2、“w只写方式打开一个文件; 3、“a”打开一个文件追加; 4、“rb”只读方式打开一个二进制文件; 5、“rw”只写方式打开一个二进制文件; 6、“ra”打开一个二进制文件追加; 7、"r+"读写方式打开...
  • 步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二者都会将文件内容清零 (以w方式打开,不能读出。w+可读写) w+与r+区别: r+:可读可写,若文件不存在,报错;w+: 可读可写,...
  • python文件打开方式

    千次阅读 2018-08-09 13:45:26
    在python中,打开文件的命令为 open(file[,mode[,buffer]]) 关于mode,有以下注意点: r 只读方式打开,文件必须存在 w 只写方式打开,文件不存在创建文件,文件存在则清空文件内容 a 追加方式打开, 文件不...
  • python如何打开一个txt文件

    千次阅读 2020-07-03 08:57:34
    python如何打开一个txt文件一、读文件1、简单的将文件读取到字符串中2、按行读取整个文件3、将文件读入数组中二、写文件1、简单的将字符串写入txt中2、列表写入文件 文件打开的两种方式 f = open("data.txt","r") ...
  • Vim打开个文件

    千次阅读 2015-04-10 15:27:46
    在vim下可以打开多个文件: vim fileA fileB fileC :bn 切换到下一个文件或者n ...:open fileX 在当前窗口打开文件 此外 vim -o/O fileA fileB fileC 可以直接分窗格的形式同时打开并显示多个文件
  • 如何使用Python打开一个TXT文件

    千次阅读 2020-05-18 11:25:00
    如何使用Python打开一个TXT文件 1 相对路径 首先需要找到当前工作路径,使用以下代码: import os f=os.getcwd() print(f) 将需要打开的TXT文件放入刚才找到的同一个文件夹 使用Python打开该TXT y= open('aimee...
  • r :只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 r+:打开一个文件用于读写。文件指针将会放在文件的开头。 rb:二进制格式打开一个文件用于只读。一般用于非文本文件如图片等。 rb+ :...
  • vim同时打开个文件

    千次阅读 2019-06-27 19:12:34
    在同一个窗口打开多个文件 vi file1 file2 vim命令模式下 :n 切换到下一个文件 :N 切换到上一个文件 示例如下: vim show1.txt show2.txt 命令下:n后 在不同窗口打开多个文件 (1)先使用vi打开一个文件...
  • 文件打开模式r,w,a,r+,w+,a+的区别和联系

    万次阅读 多人点赞 2018-03-14 14:22:31
    w只写的方式打开文本文件文件若存在则清空文件内容从文件头部开始写,若不存在则根据文件名创建新文件并只写打开;a:只写的方式打开文本文件文件若存在则从文件尾部追加的方式开始写,文件原来存在的...
  • 转载于 http://blog.csdn.net/ztf312/ 第步 排除文件打开方式错误:r只读,r+读写,不创建w新建只写,w+新建读写,二者都会将文件内容清零(以w方式打开,不能读出。w+可读写)w+与r+区别:r+:可读可写,若文件...
  • C语言文件打开方式

    千次阅读 2019-03-31 19:00:51
    操作后面“t”是表示打开文本文件 “b”是表示打开二进制文件 什么都不表示默认打开文本文件
  • linux系统下如何打开一个文件并保存

    千次阅读 2018-07-30 18:32:46
    首先vi /etc/hosts打开hosts文件的阅读模式 o键可进入编辑模式,并在当前位置的后面插入行 录入内容后,Esc键退出编辑模式进入阅读模式 命令:w保存文件 命令:q退出 编辑模式命令: i :在当前位置插入 a:在...
  • python文件操作之文件打开方式

    千次阅读 2015-10-15 22:15:33
    1.文件的打开方式 open(name[,mode[buf]]) name:文件的路径 mode:文件的打开方式,如w、r、wr、rw等 buf:缓存区大小 mode详解: ...只读方式打开 ...w 只写方式打开 ...追加方式打开(即一打开文件,文
  • r只读,r+读写,不创建,即需要事先存在一个文件以供读/读写,若不存在文件会报错 w新建只写,w+新建读写,二者都会将文件内容清零,即事先不需要有该文件存在,若已经存在则会覆盖 (以w方式打开,不能读出。w+可...
  • # 显示打开文件对话框,并获取选择的文件名称 with open(filename,'r') as f: self.fh2=f.readlines() def randomStart(self): self.n=1 while self.n==1: #num = random.randint(12, 20) num = ...
  • Python文件打开的几种方式

    千次阅读 2019-01-27 16:38:21
    r 只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件...
  • C++文件打开方法

    千次阅读 2020-08-15 16:28:13
    C++文件打开方法为什么要打开文件如何打开文件C和C++都能用的freopen版fopen版 为什么要打开文件 有时候,我们需要把一些内容保存到文件中,以便后期使用。今天小编就来介绍一下如何打开文件。 如何打开文件 C和C++...
  • 目录 vim——打开多个文件、同时显示多个文件、在文件之间切换 vim——打开多个文件、同时显示多个文件、在文件之间切换 可分两种情况: 1、在同一窗口中打开多个文件: ...:n 切换到下一个文件 (n=next) :N 切换...
  • ) # a 追加的方式打开 (默认只读方式打开) # with open("readme.txt") as file: # 这种方式,会自动close()释放资源 # 2. 写入文件 file.write("123 hello") # 3. 关闭 file.close()...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 504,578
精华内容 201,831
关键字:

以w加方式打开一个文件