python输入文件名读取文件_[Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等...
1、从键盘输入
Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘。这两个函数分别是:input()和raw_input()。
Python 3中,不建议使用raw_input()函数。 input()函数可以从键盘读取的全都会转化为字符串类型。
图中可以看出 就算我们输入 123456789 input() 函数 还是完全把他看做 字符串
2、打开和关闭文件
Python提供了默认操作文件所必需的基本功能和方法。可以使用文件对象执行大部分文件操作。
一下方法为 Python内置 方法,不需要导入包。
1、打开文件
在读取或写入文件之前,必须使用Python的内置open()函数打开文件。此函数创建一个文件对象,该对象将用于调用与其相关联的其他支持方法。
在 Pycharm IDE 中 输入 open(), 然后按住 Ctrl 并且鼠标单击 open,即可查看 open 方法。
参数:
file:参数是一个字符串类型,指定要访问的文件名称
mode:确定文件打开的模式,即读取,写入,追加等。可能的值的完整列表如下表所示。 这是一个可选参数,默认文件访问模式为(r - 也就是只读)。
一般情况下 只需要 填入这两个参数即可,其他保持默认。
以下是打开文件使用的模式的列表 :
2、文件对象属性
打开一个文件并且有一个文件对象后,可以获得与该文件相关的各种信息。
以下是与文件对象相关的所有属性的列表:
3、close() 方法
文件对象的close()方法刷新任何未写入的信息并关闭文件对象,之后不能再进行写入操作。
当文件的引用对象重新分配给另一个文件时,Python也会自动关闭一个文件。但使用close()方法关闭文件是个好习惯。
语法:fileName.close()
3、读取与写入文件
文件对象提供了一组访问方法,使代码编写更方便。read()和write()方法 分别用来读取和写入文件。
1、write()方法
write()方法将任何字符串写入打开的文件。 重要的是要注意,Python字符串可以是二进制数据,而不仅仅是文本。
write()方法不会在字符串的末尾添加换行符(‘\n‘)
只需要一个参数,即需要写入的文本内容
PS.打开文件的时候需要给予写入的相关权限。
2、read()方法
read()方法用于从打开的文件读取一个字符串。 重要的是要注意Python字符串除文本数据外可以是二进制数据。
这里,传递参数 n 是从打开的文件读取的字节数。
该方法从文件的开始位置开始读取,如果 n 不指定值,则读取全文。
4、文件位置
tell()方法
用于获取文件中的当前位置; 换句话说,下一次读取或写入将发生在从文件开始处之后的多个字节数的位置。
seek(offset [,from])方法:
更改当前文件位置。 offset参数表示要移动的字节数。 from参数指定要移动字节的引用位置。
from参数:
设置为0,则将文件的开头作为参考位置。 如果设置为1,则将当前位置用作参考位置。 如果设置为2,则文件的末尾将被作为参考位置。
5、重命名和删除文件
Python os模块 提供用于执行文件处理操作(如重命名和删除文件)的方法。要使用此模块,需要先将它导入,然后可以调用任何相关的函数。
1、rename()方法
rename()方法 有两个参数,即 当前的文件名 和 新的文件名。
2、remove()方法
remove()方法 通过提供要删除的文件的名称作为参数来删除文件。
6、补充
1、Python 文件对象 的 方法
2、os模块 的 方法 (略取了一部分)
7、文件读取、写入 (配合 文件选择对话框) 代码
1 #coding: utf-8
2 #author: Twobox
3
4 importwx5 importos6
7 classMyWin(wx.Frame):8 def __init__(self, parent, title):9 super(MyWin, self).__init__(parent=parent, title=title)10 self.wildcard = "文本文件 (*.txt)|*.txt"
11 self.initUI()12 self.Show()13
14 definitUI(self):15 panel =wx.Panel(self)16
17 vbox =wx.BoxSizer(wx.VERTICAL)18 panel.SetSizer(vbox)19
20 hbox1 =wx.BoxSizer(wx.HORIZONTAL)21 hbox2 =wx.BoxSizer(wx.HORIZONTAL)22 vbox.Add(hbox1, proportion=0, flag=wx.EXPAND | wx.ALL, border=0)23 vbox.Add(hbox2, proportion=1, flag=wx.EXPAND | wx.ALL, border=0)24
25 self.fileAddress =wx.TextCtrl(panel)26 btn1 = wx.Button(panel, label="Open", id=wx.ID_OPEN)27 btn2 = wx.Button(panel, label="Save", id=wx.ID_SAVE)28 hbox1.Add(self.fileAddress, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)29 hbox1.Add(btn1, proportion=0, flag=wx.EXPAND | wx.UP | wx.DOWN, border=5)30 hbox1.Add(btn2, proportion=0, flag=wx.EXPAND | wx.ALL, border=5)31
32 #content 内容 conter 中心
33 self.content = wx.TextCtrl(panel, style=wx.TE_MULTILINE |wx.TE_DONTWRAP)34 hbox2.Add(self.content, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)35
36 self.Bind(wx.EVT_BUTTON, self.eventButtonOpen, btn1)37 self.Bind(wx.EVT_BUTTON, self.eventButtonSave, btn2)38
39 defeventButtonOpen(self, event):40 wildcard =self.wildcard41 dlg = wx.FileDialog(parent=self, message="Please Select File",defaultDir=os.getcwd() ,wildcard=wildcard, style=wx.FD_OPEN)42
43 if dlg.ShowModal() ==wx.ID_OK:44 #dlg.SetPath("1.txt") # 可以更改选择好的文件地址
45 #print(dlg.GetPath())
46 self.fileAddress.SetValue(dlg.GetPath())47 with open(dlg.GetPath(), "r") as f:48 self.content.SetValue(f.read())49 dlg.Destroy()50
51 defeventButtonSave(self, event):52 wildcard =self.wildcard53 dlg = wx.FileDialog(parent=self, message="Please ......", defaultDir=os.getcwd(), wildcard=wildcard, style=wx.FD_SAVE |wx.FD_OVERWRITE_PROMPT)54
55 if dlg.ShowModal() ==wx.ID_OK:56 filePath =dlg.GetPath()57 self.fileAddress.SetValue(filePath)58 with open(filePath, "w") as f:59 f.write(self.content.GetValue())60 dlg.Destroy()61
62 defmain():63 app =wx.App()64 MyWin(None, "File Dialog - Test")65 app.MainLoop()66
67 if __name__ == '__main__':68 main()
8、后言
还比较全,一般以后对文件的大部分操作都可以完成了。
O.O 昨天 忘记发博客了(其实是浪了)。
2017-08-25 14:55:29
python输入文件名读取文件_[Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等...相关推荐
- 22 Python IO、打印到屏幕、读取键盘输入、打开和关闭文件、文件定位、重命名和删除文件、Python里的目录、文件,目录相关的方法
22Python文件I/O 22.1打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: ...
- iPhone文件系统:创建、重命名以及删除文件
iPhone文件系统:创建.重命名以及删除文件 NSFileManager中包含了用来查询单词库目录.创建.重命名.删除目录以及获取/设置文件属性的方法(可读性,可编写性等等). 每个程序都会有它自己 ...
- Ubuntu学习日记--Lesson2:创建、重命名、删除文件及文件夹,强制清空回收站方法
原文链接:http://blog.csdn.net/yuzhiyuxia/article/details/7919091 mkdir 目录名 --创建一个目录 rmdir 空目录名 ...
- python输入三门课程成绩_编一程序,从键盘输入学生的三门课程成绩,求其总成绩、平均成绩和总成绩除3的余值...
展开全部 #include "stdio.h" int main(int argc, char* argv[]) { int a,b,c; printf("请输入三门课程 ...
- python文件命名文件夹怎么删除_python文件批量重命名、删除文件夹
第一次觉得用python整理数据真的很方便! 主要操作: 1.用文件内容重命名标注文件 2.合并独立文件夹中的文件,并删除原文件夹 3.将对应的标注文件移动到图片文件夹中 主要函数: os.listd ...
- 新建、重命名、删除文件夹必须要通过刷新才能显示解决办法
解决办法 按下win+R跳出运行对话框,在对话框中输入"regedit"启动注册表编辑器,展开HKEY_LOCAL_MACHINE\System\Currentcontrolset ...
- python重命名文件或目录_Python重命名多个文件的实例方法
Python中如何重命名多个文件 在Python3中可以使用rename()方法+listdir()方法来重命名多个文件,这两个方法都是os模块的一部分,非常方便.下面本篇文章就来带大家了解一下ren ...
- python列重命名_Python目录–创建,重命名,删除,列出,更改
python列重命名 Good day, learners! In this tutorial we are going to learn about Python Directory. In our ...
- 如何在Windows 10上用cmd批量重命名多个文件
文件少改个文件名还行,文件一多,成百上千那种,心态直接boom了~ 今天就盘点下批量改文件. 在Windows 10上,重命名单个文件是一个简单的过程,但当您需要更改文件夹内的长文件列表的名称或扩展名 ...
最新文章
- 文计笔记1: 计算机基本原理
- java print int_java – 在printin输入int
- 大约C++ const 全面总结
- 小白开学Asp.Net Core 《八》
- 【ArcGIS微课1000例】0018:ArcGIS设置相对路径和数据源
- 双11个性化推荐背后,阿里云“舜天”如何应对百亿次挑战? 1
- ArrayList扩容
- 使用高速通道加速iOS版本审核
- 57. mysqli 扩展库(4)
- 用PHP查看微信撤回的消息,vbot微信聊天机器人微信聊天消息详解(9):撤回消息和防撤回消息...
- DNS 报文结构和个人 DNS 解析代码实现——解决 getaddrinfo() 阻塞问题
- Win10禁用缩略图解决资源管理器老是重启
- Git(七)——删除历史版本,保留当前状态
- 200 OK (from cache) 与 304 Not Modified
- 【朝花夕拾】Android自定义View篇之(十一)View的滑动,弹性滑动与自定义PagerView...
- 本地项目连接虚拟机的数据库oracle
- 学习笔记(01):大数据金融信贷项目实战(Spark2.3.x Streaming)-Spark SQL架构原理
- 表达式求值(sscanf用法)(stack练习)(第四届河南省大学生程序设计竞赛)
- 近几年我在职场踩过的坑
- Shell 写入csv处理中文乱码
热门文章
- 页面瘦身之压缩viewState和保存viewState到服务器
- Java 方法、 流(Stream)、文件(File)和IO 总结
- 使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”
- Spring Bean作用域实例
- 百万年薪程序员必会的五种技术
- 五天面试 Google、Facebook、Airbnb 等硅谷五家顶级公司,我是如何都拿到 Offer 的
- 到底IPv4有多少个地址
- mysql生产环境运维方案_[MySQL生产环境] Innodb存储引擎内存报警问题处理过程
- tp的echo输出字符串后换行
- java换脸_随意换脸 · ink-image/api Wiki · GitHub