标签:blog http ar io os sp for strong on
python写txt,之前写过jason的,和写txt有点区别,记录下。
import os def touch(path): u = ‘12‘ u1= ‘34‘ with open(path, ‘w‘) as f: f.write(u) f.write(‘\t‘) f.write(u1) #os.utime(path, None) path = "creativeFile.txt" touch(path)
1.打开的模式有几种(转自http://blog.csdn.net/adupt/article/details/4435615)
mode是打开的模式,可选的值为r w a U,分别代表读(默认) 写 添加支持各种换行符的模式。用w或a模式打开文件的话,如果文件不存在,那么就自动创建。此外,用w模式打开一个已经存在的文件时,原有文件的内容会被清空,因为一开始文件的操作的标记是在文件的开头的,这时候进行写操作,无疑会把原有的内容给抹掉。由于历史的原因,换行符在不同的系统中有不同模式,比如在 unix中是一个/n,而在windows中是‘/r/n’,用U模式打开文件,就是支持所有的换行模式,也就说‘/r’ ‘/n‘ ‘/r/n‘都可表示换行,会有一个tuple用来存贮这个文件中用到过的换行符。不过,虽说换行有多种模式,读到python中统一用/n代替。在模式字符的后面,还可以加上+ b t这两种标识,分别表示可以对文件同时进行读写操作和用二进制模式、文本模式(默认)打开文件。
2.注意python是没法写int型的,必须是string。http://stackoverflow.com/questions/11160939/writing-integer-values-to-a-file-using-out-write。
解释就是:
write() only takes a single string argument, so you could do this:
outf.write(str(num))
outf.write(‘{}‘.format(num)) # more "modern"
outf.write(‘%d‘ % num) # deprecated mostly
Also note that write
will not append a newline to your output so if you need it you‘ll have to supply it yourself.
Aside:
Using string formatting would give you more control over your output, so for instance you could write (both of these are equivalent):
num = 7
outf.write(‘{:03d}\n‘.format(num))
num = 12
outf.write(‘%03d\n‘ % num)
to get three spaces, with leading zeros for your integer value followed by a newline:
007
012
format() will be around for a long while, so it‘s worth learning/knowing.
标签:blog http ar io os sp for strong on
原文地址:http://www.cnblogs.com/hope100/p/4168297.html