python中的文件读写

文件路径:

尽量不要用中文和反斜杠


good = np.loadtxt(u'D:/feiq/feiq/Recv Files/Recv Files/LOS 数据集/good_user2',dtype = str)#读取good_guys
上面代码,就是加载D:/feiq/feiq/Recv Files/Recv Files/LOS 数据集/  路径下的good_user2的代码。由于路径中出现了中文,记得代码开头写上coding:utf-8.并且有中文的地方记得加u。

D:\feiq\feiq\Recv Files\Recv Files\LOS 数据集
上面是从windows直接复制的路径,可以看到,路径用的是反斜杠:\.
由于反斜杠\在python里面还有转义的意思。所以直接这么写路径的话会产生问题。

 

解决办法,采用下面任何一种书写形式均可:

1、使用斜杠“/”:

 "c:/test.txt"

 不用反斜杠就没法产生歧义了

2、将反斜杠符号转义:

 "c:\\test.txt"

 因为反斜杠是转义符,所以两个"\\"就表示一个反斜杠符号

3、使用Python的raw string: 

r"c:\test.txt"python #在字符串前面加上字母r,表示后面是一个原始字符串raw string

 

不过raw string主要是为正则表达式而不是windows路径设计的,所以这种做法尽量少用,可能会出问题。

 

 

文件读取:

1 filename = 'pi_digits.txt'
2 with open(filename) as file_object:
3    lines = file_object.readlines()  #逐行读取文件中的每一行
4 for line in lines:
5   print(line.rstrip())   #rstrip消除for循环后每一行的空白行

 

写入文件:

1 filename = 'programming.txt'
2 ❶ with open(filename, 'w') as file_object:
3 ❷ file_object.write("I love programming.")

调用 open() 时提供了两个实参(见❶)。第一个实参也是要打开的文件的名称;第二个实参( 'w' )告诉 Python ,我们要以 写入模式 打开这个文件。打开文件

时,可指定 读取模式 ( 'r' ) 写入模式 ( 'w' ) 附加模式 ( 'a' )或让你能够读取和写入文件的模式( 'r+' )。如果你省略了模式实参, Python 将以默认的只读模式打
开文件。
如果你要写入的文件不存在,函数 open() 将自动创建它。然而,以写入( 'w' )模式打开文件时千万要小心,因为如果指定的文件已经存在, Python 将在返回文件对象前清空
该文件。

 

posted @ 2017-07-31 21:32  kylin88  阅读(344)  评论(0)    收藏  举报