如何用python实现真正的打开和关闭文件 怎么用python写个打开与关闭bt开关的脚本

作者&投稿:茅窦 (若有异议请与网页底部的电邮联系)

打开和关闭文件

现在,您已经可以向标准输入和输出进行读写。现在,来看看怎么读写实际的数据文件。

Python 提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用 file 对象做大部分的文件操作。

open 函数

你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。

语法:

file object = open(file_name [, access_mode][, buffering])

各个参数的细节如下:

  • file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。

  • access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

  • buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

  • 不同模式打开文件的完全列表:

    模式

    描述

    r    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。    

    rb    以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。    

    r+    打开一个文件用于读写。文件指针将会放在文件的开头。    

    rb+    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。    

    w    打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。    

    wb    以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。    

    w+    打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。    

    wb+    以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。    

    a    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。    

    ab    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。    

    a+    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。    

    ab+    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。    

    下图很好的总结了这几种模式:

    模式

    r

    r+

    w

    w+

    a

    a+

    读    +    +         +         +    

    写         +    +    +    +    +    

    创建              +    +    +    +    

    覆盖              +    +              

    指针在开始    +    +    +    +              

    指针在结尾                        +    +    

    File对象的属性

    一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息。

    以下是和file对象相关的所有属性的列表:

    属性

    描述

    file.closed    返回true如果文件已被关闭,否则返回false。    

    file.mode    返回被打开文件的访问模式。    

    file.name    返回文件的名称。    

    file.softspace    如果用print输出后,必须跟一个空格符,则返回false。否则返回true。    

    如下实例:

  • #!/usr/bin/python# -*- coding: UTF-8 -*-

  • # 打开一个文件fo = open("foo.txt", "wb")print "文件名: ", fo.nameprint "是否已关闭 : ", fo.closedprint "访问模式 : ", fo.modeprint "末尾是否强制加空格 : ", fo.softspace

  • 以上实例输出结果:

  • 文件名:  foo.txt是否已关闭 :  False访问模式 :  wb末尾是否强制加空格 :  0

  • close()方法

    File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。

    当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。

    语法:

  • fileObject.close();

  • 例子:

  • #!/usr/bin/python# -*- coding: UTF-8 -*-

  • # 打开一个文件fo = open("foo.txt", "wb")print "文件名: ", fo.name

  • # 关闭打开的文件fo.close()

  • 以上实例输出结果:

  • 文件名:  foo.txt

  • 读写文件:

    file对象提供了一系列方法,能让我们的文件访问更轻松。来看看如何使用read()和write()方法来读取和写入文件。

    write()方法

    write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

    write()方法不会在字符串的结尾添加换行符('
    '):

    语法:

  • fileObject.write(string);

  • 在这里,被传递的参数是要写入到已打开文件的内容。

    例子:

  • #!/usr/bin/python# -*- coding: UTF-8 -*-

  • # 打开一个文件fo = open("foo.txt", "wb")fo.write( "www.runoob.com!
    Very good site!
    ");

  • # 关闭打开的文件fo.close()

  • 上述方法会创建foo.txt文件,并将收到的内容写入该文件,并最终关闭文件。如果你打开这个文件,将看到以下内容:

  • $ cat foo.txt

  • www.runoob.com!Very good site!

  • read()方法

    read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

    语法:

  • fileObject.read([count]);

  • 在这里,被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。

    例子:

    这里我们用到以上创建的 foo.txt 文件。

  • #!/usr/bin/python# -*- coding: UTF-8 -*-

  • # 打开一个文件fo = open("foo.txt", "r+")str = fo.read(10);print "读取的字符串是 : ", str# 关闭打开的文件fo.close()

  • 以上实例输出结果:

  • 读取的字符串是 :  www.runoob

  • 文件位置:



怎么用Python 保存并关闭一个打开状态的txt文档~

你用C语言也有些困难。

这要看编辑器当时的数据在什么地方。如果还在编辑器内部。基本上没有办法保存下来。

不过,如果已经保存了。只是没有关闭。直接杀进程就好了。 杀完了。所有handle都释放,也不存在什么锁,或者是状态关闭了。

建议先用sync命令,将内容从操作系统的缓存里写到磁盘中再操作。

以前远标老师教我们写一个模拟登陆路由器的WEB的程序,F12打开,点一下界面的重启路由器操作,模拟发送那个请求就好了。

如何用python实现真正的打开和关闭文件
答:!/usr/bin/python# -*- coding: UTF-8 -*-# 打开一个文件fo = open("foo.txt", "wb")fo.write( "www.runoob.com!\nVery good site!\n");# 关闭打开的文件fo.close()上述方法会创建foo.txt文件,并将收到的内容写入该文件,并最终关闭文件。如果你打开这个文件,将看到以下内容:cat ...

如何用python语言打开程序
答:>>> os.system('notepad') # 打开记事本程序.0 >>> os.system('notepad 1.txt') # 打开1.txt文件,如果不存在,则创建.0 【方式二】使用ShellExecute函数运行其他程序除了使用os.system()函数外,还可以使用win32api模块中的ShellExecute()函数来运行其他程序,格式如下:ShellExecute(hwnd, op...

python 用tkinter模块怎么打开文件
答:大概如下:在界面上点击一个按纽,弹出一个选择文件的对话框,找到目标文件双击打,打开后把文件的内容赋给一个变量。就像其他软件在状态栏那样打开文件:“文件”->“打开文件”,python能不能实现这样的功能啊,别的模块也行,求指导啊,谢谢。 s15885823584 | 浏览3897 次 |举报 我有更好的答案推荐于2016-01-19 10...

python中怎么打开一个文件
答:首先,我们需要新建一个文本文档,这个文档可以是windox自带的记事本。然后,我们在其中输入一些我们想要的信息。新建好文档之后,我们需要点击另存为,把文件保存在一个你知道的地方。保存的时候,请注意保存格式,不然有可能python打不开。然后我们打开python的一个编辑器,IDLE 在编辑器中输入一下的信息...

python写脚本打开应用程序
答:coding=utf-8 !/usr/bin/python import os def open_app(app_dir):os.startfile(app_dir)if __name__ == "__main__":app_dir = r'C:\Program Files\Sublime Text 2\sublime_text.exe'open_app(app_dir)

python怎么打开使用
答:1、首先需要打开电脑的桌面,如图所示,并按开始的快捷键点击安装好的python3.6程序进入。2、然后点击进入之后,如图所示,可以看到页面上面的三个大于号出现并且后面一直有光标在闪就表示启动成功了。3、最后,第一个程序就是打印print,在光标后面输入print("hello")就能在下一行打印出hello,这样使用...

python怎么用代码打开某路径的下的文件,例如打开桌面的“123.txt”文件...
答:打开桌面上的test.txt文件 file=open(r"C:\Users\admin\Desktop\test.txt","r").read()print(file)打开QQ import os file=os.system(r'"D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"')print(file)注意路径要是你电脑上的路径 ...

python中用tkinter模块怎么打开文件?
答:,需要用到FileDialog模块,代码非常简单:\x0d\x0a\x0d\x0afrom Tkinter import *\x0d\x0afrom FileDialog import *\x0d\x0a \x0d\x0aroot = Tk()\x0d\x0a \x0d\x0afd = LoadFileDialog(root) # 创建打开文件对话框\x0d\x0afilename = fd.go() # 显示打开文件对话框...

Python使用open函数打开文件的常用模式
答:要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:f = open('/Users/michael/test.txt', 'r')标示符'r'表示读,这样,我们就成功地打开了一个文件。如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在:如果...

Python用关联程序打开文件
答:​ 初学Python的小伙伴们,不知道有没有遇到我这样的困惑,如何用Python来控制电脑用自带的程序打开一个文件,比如用 记事本打开txt文档 ,用 图片浏览器打开图片 ,或者直接 打开一个软件 ,在网上找了好久才发现,os模块里有个命令 os.startfile ,函数作用是 使用已关联的应用程序打开文件 ...