您的位置:首页 > 编程语言 > Python开发

Python小问题汇总(更新1)

2017-01-10 14:23 281 查看
继续上篇文章,持续更新一波......

1. 文件读写操作

这个问题别人的博客写的很好很详细了

f = open(r'C:\Movie\test2.txt','w')
直接打开一个文件,如果文件不存在则创建文件,只能只用写命令

f = open(r'C:\Movie\test2.txt')
打开一个文件,只能只用读命令

f.read([size])
size为读取的长度,以byte为单位,如果不写则读取全部内容

f.readline([size])
读一行,如果定义了size,有可能返回的只是一行的一部分。每读取一次,文件操作符向下移动一行。

f.readlines([size])
把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。


关于open模式,参数不同达到的效果也是不同的,比如我需要的是在一个日志文件中不断的追加新的东西而不是每次都直接覆盖掉,所以我用到了"a+"

1 关于open模式的参数:
2 w     以写方式打开
3 a     以追加模式打开
4 r+     以读写模式打开
5 w+     以读写模式打开
6 a+     以读写模式打开 (我用到了这个模式,读写模式不断追加新的东西)
7 rb     以二进制读模式打开
8 wb     以二进制写模式打开
9 ab     以二进制追加模式打开
10 rb+    以二进制读写模式打开11 wb+    以二进制读写模式打开12 ab+    以二进制读写模式打开


还有一些操作的区别,我当时用到的问题是f.readline,每次都是读文件的一行,没有把全部的内容都读出来,所以区别还是很明显,要区分清楚.

写操作的用法和区别:

f.write(“str”)
把str写到文件中,write()方法不会在str后加上一个换行符

f.writelines(seq)
把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。

f.close()
关闭文件。在读命令或者写命令结束时,需要用关闭。如果文件关闭后依然操作,会抛出ValueError: I/O operation on closed file

f.tell()
返回文件操作标记的当前位置,以文件的开头为起点

fp.next()
返回下一行内容,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。

fp.seek(offset[,whence])
将文件操作标记为移动到offset位置。


3. 遇到的报错情况

自己不想要定义太多的函数,个人感觉是想要将不同功能的函数进行分类,因此我尝试用到了类,知道自己这么做可能是想法上就有些不对的,但是想要瞎试试看看效果,所以结果就是报错了.

如图,这是别人遇到的方法,和我的是一样的,我没有定义静态的函数,所以每次使用之前都需要进行实例化才能调用.



4. git报错

自己写的小东西,想要通过一个方式来进行版本控制,这样再加或者别的地方也可以不断更新自己的小程序,所以git走起,遇到的问题其实很小,一搜就有,但是还是放出来,以后省的找

fatal: remote origin already exists.


解决办法,先删除,在添加.很简单~



把链接也放出来:

http://blog.csdn.net/dengjianqiang2011/article/details/9260435
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: