打开文件:

标准函数是:

open(filename,mode=’r’,buffering=-1,encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中 filename是文件的路径名,mode默认为r

例子:

f=open("C:\Users\C\Desktop\project\package1\__init__.py",'r')

输出:

原因是python表述不同于Windows,C:\\,双斜杠是对的。即:

也可以:

f=open("c://Users/C/Desktop/project/package1/__init__.py")

还有一个问题是可能路径的格式没法识别,例如:

f=open("C:\\USers\butterfly\Desktop\aaa.py")

输出是:

OSError: [Errno 22] Invalid argument:'C:\\Users\x08utterfly\Desktop\x07aa.py'

这种情况需要改变路径了,因为路径中带特殊字符。我改成

f=open("E://Program Files/360/test.py")
print(f)

输出:

<_io.TextIOWrapper name='E://Program Files/360/test.py' mode='r' encoding='cp936'>

说明正常

通过f.readlines()得到各行数据

f.readlines():

出现问题:

1)、首先在打开文本的时候,设置其编码格式,如:open(‘1.txt’,encoding=’gbk’); 
(2)、若(1)不能解决,可能是文本中出现的一些特殊符号超出了gbk的编码范围,可以选择编码范围更广的‘gb18030’,如:open(‘1.txt’,encoding=’gb18030’); 
(3)、若(2)仍不能解决,说明文中出现了连‘gb18030’也无法编码的字符,可以使用‘ignore’属性进行忽略,如:open(‘1.txt’,encoding=’gb18030’,errors=‘ignore’); 
(4)、还有一种常见解决方法为open(‘1.txt’).read().decode(‘gb18030’,’ignore’)
根据

我用两个电脑分别实现,一个成功,另一个未成功,然后将未成功的idle关闭,重新打开

成功了,很郁闷。

open(filename,mode='w+'):

当如此打开文件,且文件不存在,则会自动创建这个文件,为空

实时出错,find 和x0cind

换个名字:

read()和write()函数:

如果open()函数选择的是mode='r',那么只可以读,而不可以写。如果选择'w'模式,只能写不能读(接到上面):

读或者写结束后,用g.close()关闭文件

发现一个点:最初的时候,看见别人代码里有路径不是很理解,如同最初不能明白加编码方式

#!\C:\Users\C\Desktop\project\package1
# -*- coding:utf-8 -*-
import os
f=open("tx3.py",'w')
os.mkdir('wrap1')

创建的python文件将会在\C:\Users\C\Desktop\project\package1\目录下(目录就是文件夹),最后一个语句创建的目录在package1目录下.最终发现,os.mkdir()函数生成的目录是和前面的创建的文件是同目录。

读写同时运用的实例:

g.tell()#返回文件当前的位置,指针位置

g.readline(size)#读size大小,同时指针后移size位,没有size默认读完本行

g.readlines()#读取所有,指针后移到末尾

g.read(size)#读取给定size,若未给或者为负,则返回所有值

遇见最多的问题还是创建文件返回[Errno22]:

最常用的方法是把单斜杠变成双斜杠。哪里出现问题哪里用双斜杠

参考:

Python文件I/O模块,菜鸟教程:点击打开链接

python 3.6中使用open函数遇见的问题相关推荐

  1. python使用numpy中的flatten函数将2D numpy数组拉平为1Dnumpy数组、使用np.linalg.matrix_rank函数计算2D numpy数组的秩(rank)

    python使用numpy中的flatten函数将2D numpy数组拉平为1Dnumpy数组.使用np.linalg.matrix_rank函数计算2D numpy数组的秩(rank) 目录

  2. python使用matplotlib中的errorbar函数可视化误差条、并自定义数据点标记、数据点大小、数据点颜色、数据点边缘颜色、误差棒颜色、误差棒线条宽度、误差棒边界线长度、误差棒边界线厚度等

    python使用matplotlib中的errorbar函数可视化误差条.并自定义数据点标记.数据点大小.数据点颜色.数据点边缘颜色.误差棒颜色.误差棒线条宽度.误差棒边界线长度.误差棒边界线厚度等 ...

  3. Python使用numpy中的hstack函数水平堆叠(horizontally stack)数组实战

    Python使用numpy中的hstack函数水平堆叠(horizontally stack)数组实战 目录 Python使用numpy中的hstack函数水平堆叠(horizontally stac ...

  4. python使用pandas中的to_json函数将dataframe数据写入json文件中

    python使用pandas中的to_json函数将dataframe数据写入json文件中 目录 python使用pandas中的to_json函数将dataframe数据写入json文件中 #导入 ...

  5. python开发_python中的range()函数

    python中的range()函数的功能hen强大,所以我觉得很有必要和大家分享一下 就好像其API中所描述的: If you do need to iterate over a sequence o ...

  6. python3语法错误python_[大数据]Python 3.x中使用print函数出现语法错误(SyntaxError: invalid syntax)的原因 - 码姐姐找文...

    在安装了最新版本的Python 3.x版本之后, 去参考别人的代码(基于Python 2.x写的教程),去利用print函数,打印输出内容时,结果却遇到print函数的语法错误: SyntaxErro ...

  7. 【Python】Pandas中的宝藏函数-applymap

    applymap的用法比较简单,会对DataFrame中的每个单元格执行指定函数的操作,虽然用途不如apply广泛,但在某些场合下还是非常有用的. applymap()是与map()方法相对应的专属于 ...

  8. python实现Matlab中的circshift函数

    circshift是Matlab中矩阵循环移位函数,具体使用参照该链接. 但是python中并没有封装好的该函数,因此需要自己实现. 思路:将矩阵分为两部分,然后按照自己的需要堆叠在一起就可以了. n ...

  9. python vlookup 模糊_如何用python写excel中的vlookup函数?

    1.背景 Vlookup 函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到,Excel 一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时 ...

最新文章

  1. CSE 3100 Systems Programming
  2. OAuth 2.0攻击面与案例总结
  3. 链表list(链式存储结构实现)_VOL.2 如何在python中实现链式存储结构
  4. (0061)iOS开发之iPad开发:UISplitViewController分割视图控制器
  5. 构建乘积数组(剑指offer)
  6. java 反射访问静态方法_如何使用反射(Java)调用私有静态方法?
  7. CDH- Hive HWI 配置
  8. ubunut安装分区建议
  9. C ++ 类 | 类与数组(Array)_4
  10. 在教学中利用计算机软件,计算机软件技术教学方法研究
  11. java 方法详解_Java方法详解
  12. 在android 采用 android junit test 测试注意
  13. VSCode解决中文乱码问题最详解
  14. 人脸识别之数据库存取
  15. 怎么检查APP是否存在用户信息数据泄露漏洞
  16. Safari打开官网自动打开app
  17. 简约卡通双十一营销策划PPT模版
  18. 身份证号码前6位表示的地区对照表
  19. GlobalSign证书有哪些基本好处
  20. 你了解什么是Web服务器吗?

热门文章

  1. 在Unity中实现屏幕空间反射Screen Space Reflection(2)
  2. 23亿美元大市场,NFV做好了准备吗?
  3. 从M个数中随机等可能的取出N个的问题
  4. 【李宏毅2020 ML/DL】补充:Structured Learning: Introduction Structured Linear Model
  5. 从程序设计、tqdm到lambda:python的“奇技淫巧”,让实现效率翻倍【科学计算类】
  6. js json 对象相互转换
  7. 为eclipse安装python、shell开发环境和SVN插件
  8. python 多线程笔记(2)-- 锁
  9. 从零开始学 iOS 开发的15条建议
  10. 串口发送图片VGA显示