如何用python实现真正的打开和关闭文件

作者&投稿:营莫 (若有异议请与网页底部的电邮联系)
怎么用Python 保存并关闭一个打开状态的txt文档~

你用C语言也有些困难。

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

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

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

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

打开和关闭文件

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

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输入全班30名学生的姓名和成绩,输出其中的最高分和最低分,并求...
scores.values())`和`lowest_score=min(scores.values())`。最后,计算平均分,可以将所有成绩加起来然后除以学生数量,如`average_score=sum(scores.values())\/len(scores)`。这样,我们就成功地利用Python实现了查询全班最高分、最低分和平均分的功能,同时利用了字典的高效数据存储和查找能力。

结合实际谈谈python在财务基础工作中的应用
3、此外,还可以使用Python的图表库(如Matplotlib、Seaborn等)对数据进行可视化展示,帮助财务人员更直观地了解财务状况。风险管理与预测:Python可以应用于财务风险管理和预测模型的构建。Python的相关知识如下:1、Python支持多种编程范式,包括面向对象的、命令式、函数式和过程式编程。它有一个巨大而广泛的...

如何用python实现行列互换,大家怎么看待呢?
Getrows方法在Python中可能返回的是列值,和方法的名称不同.本节给的出的方法就是这个问题常见的解决方案,一个更清晰,一个更快速。在列表递推式版本中,内层递推式表示选则什么(行),外层递推式表示选择者(列)。这个过程完成后就实现了转置。在zip版本中,我们使用arr语法将一维数组传递给zip做为参数...

Python一般可以用来干什么呢?
大多数科研机构都使用Python进行研究。卡内基梅隆大学和麻省理工学院的编程课程以Python讲授。许多开源科学计算软件包都提供Python调用接口,例如著名的计算机视觉库OpenCV,三维可视化库VTK和医学图像处理库ITK。还有更多专门用于Python的科学计算扩展库,例如NumPy,SciPy和matplotlib,它们分别提供矩阵计算,科学计算...

为什么使用Python,Python应用场景?
因为Python是通用的。Python有许多实现(利用其他语言来写Python解释器),不仅仅是CPython。它可以基于Java,C,Python自己,C#,Ruby,Javascript等各个语言制作。可以这么说,Python的底层实现语言是最丰富的,绝对没有之一。所以它可以和C\/C++\/Java\/C#\/Ruby\/Javascript等各类语言直接交换数据。不仅仅通过...

如何利用 Python 实现 SVM 模型
我先直观地阐述我对SVM的理解,这其中不会涉及数学公式,然后给出Python代码。SVM是一种二分类模型,处理的数据可以分为三类:线性可分,通过硬间隔最大化,学习线性分类器 近似线性可分,通过软间隔最大化,学习线性分类器 线性不可分,通过核函数以及软间隔最大化,学习非线性分类器 线性分类器,在...

如何用python实现巴斯卡三角形算法
1、何为帕斯卡三角形(巴斯卡三角形)其实,帕斯卡三角形就是杨辉三角形,是二项式系数的一种写法,从第0层开始,依次类推,如图所示:比如第2层中的1 2 1 对应的是幂指数为2的二项式运算(a+b)^2=a^2+2ab+b^2的系数 2、如何用python实现该算法 在碰到难的题目,一时不知道如何下手解决的时候...

万字教你如何用 Python 实现线性规划
基本上,当您定义和求解模型时,您使用 Python 函数或方法调用低级库,该库执行实际优化工作并将解决方案返回给您的 Python 对象。 几个免费的 Python 库专门用于与线性或混合整数线性规划求解器交互: 在本教程中,您将使用SciPy和PuLP来定义和解决线性规划问题。 在本节中,您将看到线性规划问题的两个示例: 您...

Python具体指什么,可以运用在哪些方面呢?
你好,主要运用在这些方面:一、人工智能,包括数据分析、计算机视觉、自然语言处理等等 现在python已经基本成了人工智能的标准语言了,一般都是C\/C++写个底层运算库,然后用python做脚本。各种框架层出不穷,tensorflow\/pytorch等等。二、web开发 python光是web开发的框架至少得有几十个吧,而且用的人都很多...

如何利用python进行数据分析
利用python进行数据分析 链接: https:\/\/pan.baidu.com\/s\/15VdW4dcuPuIUEPrY3RehtQ ?pwd=3nfn 提取码: 3nfn 本书也可以作为利用Python实现数据密集型应用的科学计算实践指南。本书适合刚刚接触Python的分析人员以及刚刚接触科学计算的Python程序员。

青海省13611654332: 在命令行中如何运用Python语言打开文件并读出里面的内容 -
莫卿川芎: 你好: 有两种形式: 第一种:就是在楼上的形式; 第二种:在py文件里面写好函数,传一个参数进去,然后利用函数读取!

青海省13611654332: python如何让外部程序打开并运行文件? -
莫卿川芎: 比如用记事本打开1.txt:import win32api win32api.ShellExecute(0, 'open', 'notepad.exe', '1.txt','',1)如果你的程序无法找到,请将第5个参数设置为程序路径.

青海省13611654332: python如何打开excel文件,要求真实的打开的那种. -
莫卿川芎: QUOTE:原帖由 aboys 于 2009-9-4 10:49 发表 批处理学的不是很好,不能帮你定位EXCEL程序的位置,如果直接打开文件路径可能会很慢!os.system(r'cd C:\Program Files\Microsoft Office\OFFICE11 & EXCEL.EXE c:\aboys.xls');比较慢os.system(r' ... 谢谢!

青海省13611654332: 如何运行Python程序的方法 -
莫卿川芎: 安装完python之后,我们可以做两件事情,1.将安装目录中的Doc目录下的python331.chm使用手册复制到桌面上,方便学习和查阅2.将Python安装路径我的是C:\Python33\加入到系统变量中按win+R打开启动窗口输入python回车 说明配置成功了.就可以正式开始python的编程之旅了,或者点开始按钮找到python菜单 点击Python(command line)命令行工具.防止双击py文件一闪而过的问题程序末尾加一行input()低版本raw.input()

青海省13611654332: 如何运行Python文件 -
莫卿川芎: 1. 使用Python自带的IDLE 在开始-->程序-->Python2.5(视你安装的版本而不同)中找到IDLE(Python GUI), 2. 点击后弹出如下窗体:3. 在>>>提示符后输入代码,回车,就可以执行此代码.4. IDLE支持语法高亮,支持自动缩进,支持方法提...

青海省13611654332: 如何用python将非文本文件以文本形式打开 -
莫卿川芎: open(file_path, mode, encoding, ...) open函数默认就是文本模式(t一般都省略),除非你指定b模式,所以open(xxx, "r")就可以.

青海省13611654332: python怎么打开文件模式 -
莫卿川芎: 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操...

青海省13611654332: 怎么用python逐个打开文件夹里的文件? -
莫卿川芎: self.file_list 中就保存了当前文件夹中所有的文件名

青海省13611654332: 实现Python打开对话框的问题
莫卿川芎: 你说的要用到GUI设计吧?我先来个命令行交互式代码吧...# -*- coding: UTF-8 -*-import re,os,string,timefina=raw_input("Enter your file:")fina=string.replace(fina,"\"","")file=os.path.basename(fina)floder=os.path.dirname(fina)+"\\"print "...

青海省13611654332: Python CGI中如何实现打开一个临时页面告知用户“请等待” -
莫卿川芎: 我的一个做法,给你做下参考,就是把需要消耗很多时间的任务做成一个可以独立执行的命令,然后在CGI里面起新进程来做这个任务,而CGI直接返回页面.在那个页面里面会有javascript周期性的去读取服务器端任务执行的状态(这些状态都...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网