python輸入與輸出

一、字面量

1、定義

  • 字面量(literal)是以變量或常量給出的原始數(shù)據(jù)。在程序中可以直接使用字面量
  • 字面量的類型
數(shù)值型
字符型
布爾型
字面量集合:列表(list),元組(tuple),字典(dict)和集合(set)
特殊字面量:none

2、字面量插值

  • 字面量插值就是將變量、常量以及表達式插入的一種技術(shù),它可以避免字符串拼接的問題,很多語言都支持了此功能
  • 字面量插值方法:
1、格式化輸出
2、通過sting.format()方法拼接
3、通過F-strings拼接,一種字符串格式化機制(python3.6版本以后才出現(xiàn))
1)格式化輸出 %的用法
轉(zhuǎn)換說明符 解釋
%d、%i 轉(zhuǎn)換為帶符號的十進制整數(shù)
%o 轉(zhuǎn)換為帶符號的八進制整數(shù)
%x、%X 轉(zhuǎn)換為帶符號的十六進制整數(shù)
%e 轉(zhuǎn)換為科學(xué)計數(shù)法表示的浮點數(shù)(e小寫)
%E 轉(zhuǎn)換為科學(xué)計數(shù)法表示的浮點數(shù)(E大寫)
%f、%F 轉(zhuǎn)換為十進制浮點數(shù)
%g 智能選擇使用%f或%e格式
%G 智能選擇使用%F或%E格式
%c 格式字符及其ASCll碼
%r 使用repr()函數(shù)將表達式轉(zhuǎn)換為字符串
%s 使用str()函數(shù)將表達式轉(zhuǎn)換為字符串
name = 'sumemr'
str = 'my name is %s,my age is %d' %(name,25)
print(str)
>>>my name is sumemr,my age is 25
2)format()方法
  • 用法:str.format()可以將
字符串 舉例:print('we are the {} and {}'.format('summer', '03'))
列表 舉例 print('we are the {0} and {1}'.format(*listdata))
字典 舉例:print('my name is {name},age is {age}'.format(**dictdata))
3)F-strings方法(python3.6版本以后才出現(xiàn)的一種字符串格式化機制)
  • 使用方法:f'{變量名},'
  • 注意
大括號里面可以是表達式或者函數(shù)
大括號內(nèi)不能轉(zhuǎn)義,不能使用'\'
name = 'summer'
print(f'my name is {name}')
# 可用各種方法
print(f'my name is {name.upper()}')
# 可以是表達式
print(f'1+1 is {1 + 1}')

二、文件讀取

1、定義

  • 文件讀取是一種常見的IO操作,操作I/O的能力是由操作系統(tǒng)提供的,而現(xiàn)在的操作系統(tǒng)不允許普通程序直接操作磁盤,所以讀寫文件時需要請求操作系統(tǒng)打開一個對象,這就是我們在程序中要操作的文件對象
  • 不同的編程語言讀寫文件的操作步驟大體都是一樣的,部分為以下幾個步驟
1、打開文件、獲取文件描述符
2、操作文件描述符(讀 | 寫)
3、關(guān)閉文件
  • 注意:文件讀寫操作完成后,應(yīng)該及時關(guān)閉

2、參數(shù)說明

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  • name:文件名稱的字符串值
  • mode:只讀r,寫入w,追加a,默認文件訪問模式為只讀(r)。
  • buffering:寄存區(qū)緩存
0:不寄存
1:訪問文件時會寄存行
>1:寄存區(qū)的緩存大小
負值:寄存區(qū)的緩沖大小則為系統(tǒng)默認
  • 文件讀取的方法
f = open('test.txt'方法,'r')
f.read()
f.close()
  • 最優(yōu)寫法
with open('flie名稱','r') as f
  • 讀取文件常用的方法
read() 讀取文件中的所有內(nèi)容(缺點:當(dāng)文件內(nèi)容非常大,大于內(nèi)存時,無法使用這個方法)
readable() 判斷文件是否可讀
readline() 每次讀取一行(包括行結(jié)束符),返回的是一個字符串對象,保持當(dāng)前行的內(nèi)存
readlines() 讀取所有行的內(nèi)容,放在列表中
# 文件讀取
file = '/Users/zhongfangying/summer/code/python/file1'
f = open(file, 'r')
print(f.read())
f.close()
# 用這種方法可以不用close方法,會自動對文件進行回收
with open(file, 'rt') as f:
    print(f.readline())

三、json格式轉(zhuǎn)化

1、定義

  • json是一種非常流行的,輕量級的數(shù)據(jù)交換格式
  • json對人友好,易于讀寫(比xml,protobuf要好)
  • json對機器友好,易于解析和生成
  • json是由列表和字典組成的

2、使用場景

  • 生成:將對象生成為字符串,存入文件,數(shù)據(jù)庫,在網(wǎng)絡(luò)傳輸?shù)?/li>
  • 解析:解析來自文件,數(shù)據(jù)庫,網(wǎng)絡(luò)傳輸?shù)淖址蓀ython對象
  • 跨語言的數(shù)據(jù)交換:比如python和c/c++/java/javascripts的數(shù)據(jù)交換

3、如何使用json(json是標準庫)

  • import json

4、常用的幾種方法

  • json.dumps(python_obj) 把數(shù)據(jù)類型轉(zhuǎn)換成字符串
  • json.loads(json_string) 把字符串轉(zhuǎn)成json
  • json.dump() 把數(shù)據(jù)類型轉(zhuǎn)換成字符串并存儲在文件中
  • json.load(file_stream) 把文件打開,把里面的字符轉(zhuǎn)換成數(shù)據(jù)類型
# ison使用
import json

info = [{
    'name': 'summer',
    'age': 25,
    'other': None
}, {
    'name': '03',
    'age': 25,
    'other': None
}]

# dumps:將python中的字典轉(zhuǎn)換為字符串
data = json.dumps(info, sort_keys=True, indent=4)
print(data)

# 存儲到文件中
json.dump(info, open('E:\code\python\data\json_dump.json', 'w'))

打印出

[
    {
        "age": 25,
        "name": "summer",
        "other": null
    },
    {
        "age": 25,
        "name": "03",
        "other": null
    }
]
import json

# loads:將字符串轉(zhuǎn)化為json
str1 = '''
[{  
    "name":"sumemr",
    "age":25
},{
    "name":"xulinshan",
    "age":26
}]
'''
# print(type(str1))
data = json.loads(str1)
# print(type(data))
print(data)

打印出

[{'name': 'sumemr', 'age': 25}, {'name': 'xulinshan', 'age': 26}]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容