file读写

with open(filename, 'r') as f:
    input_stream = f.read()
    f.seek(0)    #回到文件开头
    line_list_2 = f.readlines() #包含行尾换行\n

line_list = input_stream.split('\n') #不包含\n

    line_list_2 = f.readlines() #包含行尾换行\n

r: 只读
w: 写
r+: 读写
a: 追加
rU: 只读,平台无关

 python3:

https://docs.python.org/3/library/csv.html

    with open(filepath, 'r', encoding="utf-8") as f:
        lines = f.read().split('\n')
import csv
#  newline=''如果不加,则会有空行
with open('user_data.csv', newline='', encoding="utf-8") as f:
    reader = csv.DictReader(f) # 必须在文件关闭前使用
    for row in reader:
        print(row) # 是dict

# 定义分隔符和引号
with open('eggs.csv', newline='') as csvfile:
     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
     for row in spamreader:
         print(', '.join(row))

#
with open('eggs.csv', 'w', newline='') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=' ',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
    spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])

with open('names.csv', 'w', newline='') as csvfile:
    fieldnames = ['first_name', 'last_name']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})

 

posted @ 2013-02-22 17:00  道以万计  阅读(206)  评论(0)    收藏  举报