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 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等...相关推荐

  1. 22 Python IO、打印到屏幕、读取键盘输入、打开和关闭文件、文件定位、重命名和删除文件、Python里的目录、文件,目录相关的方法

    22Python文件I/O 22.1打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: ...

  2. iPhone文件系统:创建、重命名以及删除文件

    iPhone文件系统:创建.重命名以及删除文件 NSFileManager中包含了用来查询单词库目录.创建.重命名.删除目录以及获取/设置文件属性的方法(可读性,可编写性等等). 每个程序都会有它自己 ...

  3. Ubuntu学习日记--Lesson2:创建、重命名、删除文件及文件夹,强制清空回收站方法

    原文链接:http://blog.csdn.net/yuzhiyuxia/article/details/7919091 mkdir 目录名           --创建一个目录 rmdir 空目录名 ...

  4. python输入三门课程成绩_编一程序,从键盘输入学生的三门课程成绩,求其总成绩、平均成绩和总成绩除3的余值...

    展开全部 #include "stdio.h" int main(int argc, char* argv[]) { int a,b,c; printf("请输入三门课程 ...

  5. python文件命名文件夹怎么删除_python文件批量重命名、删除文件夹

    第一次觉得用python整理数据真的很方便! 主要操作: 1.用文件内容重命名标注文件 2.合并独立文件夹中的文件,并删除原文件夹 3.将对应的标注文件移动到图片文件夹中 主要函数: os.listd ...

  6. 新建、重命名、删除文件夹必须要通过刷新才能显示解决办法

    解决办法 按下win+R跳出运行对话框,在对话框中输入"regedit"启动注册表编辑器,展开HKEY_LOCAL_MACHINE\System\Currentcontrolset ...

  7. python重命名文件或目录_Python重命名多个文件的实例方法

    Python中如何重命名多个文件 在Python3中可以使用rename()方法+listdir()方法来重命名多个文件,这两个方法都是os模块的一部分,非常方便.下面本篇文章就来带大家了解一下ren ...

  8. python列重命名_Python目录–创建,重命名,删除,列出,更改

    python列重命名 Good day, learners! In this tutorial we are going to learn about Python Directory. In our ...

  9. 如何在Windows 10上用cmd批量重命名多个文件

    文件少改个文件名还行,文件一多,成百上千那种,心态直接boom了~ 今天就盘点下批量改文件. 在Windows 10上,重命名单个文件是一个简单的过程,但当您需要更改文件夹内的长文件列表的名称或扩展名 ...

最新文章

  1. 文计笔记1: 计算机基本原理
  2. java print int_java – 在printin输入int
  3. 大约C++ const 全面总结
  4. 小白开学Asp.Net Core 《八》
  5. 【ArcGIS微课1000例】0018:ArcGIS设置相对路径和数据源
  6. 双11个性化推荐背后,阿里云“舜天”如何应对百亿次挑战? 1
  7. ArrayList扩容
  8. 使用高速通道加速iOS版本审核
  9. 57. mysqli 扩展库(4)
  10. 用PHP查看微信撤回的消息,vbot微信聊天机器人微信聊天消息详解(9):撤回消息和防撤回消息...
  11. DNS 报文结构和个人 DNS 解析代码实现——解决 getaddrinfo() 阻塞问题
  12. Win10禁用缩略图解决资源管理器老是重启
  13. Git(七)——删除历史版本,保留当前状态
  14. 200 OK (from cache) 与 304 Not Modified
  15. 【朝花夕拾】Android自定义View篇之(十一)View的滑动,弹性滑动与自定义PagerView...
  16. 本地项目连接虚拟机的数据库oracle
  17. 学习笔记(01):大数据金融信贷项目实战(Spark2.3.x Streaming)-Spark SQL架构原理
  18. 表达式求值(sscanf用法)(stack练习)(第四届河南省大学生程序设计竞赛)
  19. 近几年我在职场踩过的坑
  20. Shell 写入csv处理中文乱码

热门文章

  1. 页面瘦身之压缩viewState和保存viewState到服务器
  2. Java 方法、 流(Stream)、文件(File)和IO 总结
  3. 使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”
  4. Spring Bean作用域实例
  5. 百万年薪程序员必会的五种技术
  6. 五天面试 Google、Facebook、Airbnb 等硅谷五家顶级公司,我是如何都拿到 Offer 的
  7. 到底IPv4有多少个地址
  8. mysql生产环境运维方案_[MySQL生产环境] Innodb存储引擎内存报警问题处理过程
  9. tp的echo输出字符串后换行
  10. java换脸_随意换脸 · ink-image/api Wiki · GitHub