国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python教程:sys模塊中maxsize()的方法

這篇具有很好參考價值的文章主要介紹了Python教程:sys模塊中maxsize()的方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

在Python中,sys模塊有一個名為maxsize()的方法。這個方法返回一個變量Py_ssize_t可以容納的最大值。

Py_ssize_t是一個整數(shù),它給出了變量可以取的最大值。大小因操作系統(tǒng)的位而異。

32位的大小為(2 power 31)-1,64位的大小為(2 power 63)-1。

sys.maxsize 方法

sys.maxsize()

返回:此方法根據(jù)平臺類型返回最大大小值Py_ssize_t。

代碼1:使用 sys.maxsize() 方法

要實現(xiàn)方法sys.maxsize()并檢查最大大小值,我們可以導(dǎo)入sys模塊并使用方法maxsize()。根據(jù)平臺架構(gòu)類型,sys.maxsize()方法在控制臺上返回其最大值大小。

下面是32位和64位操作系統(tǒng)的實現(xiàn),并運(yùn)行相同的sys.maxsize()方法。

32-Bit平臺

# import the sys module to use the maxsize() method
import sys
# returns the maximum size
size = sys.maxsize
print("The maximum size of a 32-bit platform is:" , size)

#輸出:

The maximum size of a 32-bit platform is: 2147483647

64-Bit平臺

import sys
# returns the maximum size
size = sys.maxsize
print("The maximum size of a 32-bit platform is:" , size)

#輸出:

The maximum size of a 64-bit platform is: 9223372036854775807

代碼2:檢查列表的最大大小 sys.maxsize() 方法

為了檢查我們系統(tǒng)的最大大小,我們可以使用range()方法來傳遞列表的最大大小,然后檢查它的長度。類似地,在第二個例子中,我們超過了最大大小,Python解釋器捕獲了異常并返回int too large to convert to C ssize_t錯誤。

在下面的例子中,我們可以觀察到對Py_ssize_t設(shè)置限制的效果。不可能索引一個元素大于其大小的列表,因為它不接受非Py_ssize_t。

關(guān)于字典數(shù)據(jù)結(jié)構(gòu),Py_ssize_t使用哈希,因為Python沒有使用LinkedList來實現(xiàn)它。類似地,字典中的大小不能大于Py_ssize_t的大小。

最大尺寸

import sys
size = sys.maxsize
# creates the max length
list = range(size)
# returns the length of a list
print("The maximum length of a list:" , len(list))
print("List is created successfully")

#輸出:

# maximum size limit on a 64-bit platform
The maximum length of a list: 9223372036854775807
List is created successfully

大于最大大小

import sys
size = sys.maxsize
# handles the exception
try:
    # creates a list with maximum size + 1
    list = range(size + 1)
    # check the maximum size
    print(len(list))
    print("List is created successfully")
# exception if the size goes beyond the maximum size
except Exception as exception:
    print("Exception caught: ", exception)
    print("List is not created due to above exception")
#Python小白學(xué)習(xí)交流群:711312441
#輸出:

# output shows exception occurs
Exception caught:  Python int too large to convert to C ssize_t
List is not created due to above exception

代碼3:該 sys.maxsize() 對比 sys.maxint 方法

sys.maxint()方法不再支持Python 3作為整數(shù)。如果我們使用這個方法或常量,我們將得到下面的AttributeError: module 'sys' has no attribute 'maxint'。

為了在Python 3.0中克服這個問題,引入了另一個常量sys.maxsize,我們知道它會返回Py_ssize_t的最大值。在Python 3中,int和long int是合并的。

第一個實現(xiàn)展示了AttributeError的示例,第二個源代碼揭示了對maxint的更好理解。

屬性錯誤

import sys
li = [20, 2, 23, 88, 3, 63, 12]
# sys.maxint is not supported in python 3. We need to use python version < 3.0
min_value = sys.maxint
for i in range(0, len(li)):
    if li[i] < min_value:
        min_value = li[i]
print("Min value : " + str(min_value))

輸出:

AttributeError: module 'sys' has no attribute 'maxint'

maxint 執(zhí)行

import sys
max_int = sys.maxsize
min_int = sys.maxsize - 1
long_int = sys.maxsize + 1
print("Maximum integer size is : " + str(max_int)+" , "+str(type(max_int)))
print("Maximum integer size-1 is :" + str(max_int)+" , "+str(type(min_int)))
print("Maximum integer size+1 is :" + str(max_int)+" , "+str(type(long_int)))

#輸出:

Maximum integer size is : 9223372036854775807 , <class 'int'>
Maximum integer size-1 is :9223372036854775807 , <class 'int'>
Maximum integer size+1 is :9223372036854775807 , <class 'int'>

代碼4:在Python中使用 csv.field_size_limit(sys.maxsize)

在Python中,當(dāng)我們讀取包含巨大字段的CSV文件時,它可能會拋出一個異常,說_csv.Error: field larger than field limit。適當(dāng)?shù)慕鉀Q方案是不要跳過一些字段及其行。

要分析CSV,我們需要增加field_size_limit。為此,我們需要實現(xiàn)以下源代碼。文章來源地址http://www.zghlxwxcb.cn/news/detail-685273.html

import sys
# to use the field_size_limit method
import csv
maximum_Integer = sys.maxsize
while True:
    # read the csv with huge fields
    with open('myfile.csv', newline='') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)
    # Here, we reduce the size if there is an overflow error
    try:
        csv.field_size_limit(maximum_Integer)
        break
    except OverflowError:
        maximum_Integer = int(maximum_Integer/10)

到了這里,關(guān)于Python教程:sys模塊中maxsize()的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Python基礎(chǔ)入門篇】基本函數(shù)——os與sys模塊

    os模塊和sys模塊 os模塊負(fù)責(zé)程序與操作系統(tǒng)交互,提供訪問操作系統(tǒng)的接口 sys模塊負(fù)責(zé)程序與Python解釋器交互,用于操控Python運(yùn)行環(huán)境 待完善

    2024年01月25日
    瀏覽(25)
  • Python3.6統(tǒng)計模塊statsmodels的安裝教程及使用方法

    Python3.6統(tǒng)計模塊statsmodels的安裝教程及使用方法 如果你需要對數(shù)據(jù)進(jìn)行深入的統(tǒng)計分析和建模,那么Python編程語言中的statsmodels模塊會是你的不二之選。該模塊提供了多種統(tǒng)計模型、工具和功能,用于進(jìn)行統(tǒng)計建模、推斷、預(yù)測以及數(shù)據(jù)探索。本文將為大家詳細(xì)介紹Python3.6下

    2024年02月11日
    瀏覽(28)
  • Python 中的 multiprocessing 模塊和 threading 模塊有什么區(qū)別?什么情況下應(yīng)該使用哪一個?解釋 Python 中的 __del__ 方法的作用。有什么需要注意的地方解釋

    multiprocessing 模塊和 threading 模塊都是用于在 Python 中進(jìn)行并發(fā)編程的工具,但它們有一些關(guān)鍵的區(qū)別。以下是它們之間的比較: 區(qū)別: 并行性 vs 并發(fā)性: multiprocessing 模塊用于創(chuàng)建獨(dú)立的進(jìn)程,每個進(jìn)程都有自己的 Python 解釋器和全局解釋器鎖(GIL)。因此,multiprocessing 允許

    2024年02月22日
    瀏覽(31)
  • 第十二章 sys模塊

    第十二章 sys模塊

    什么是Python 解釋器 當(dāng)編寫Python 代碼時,通常都會得到一個包含Python 代碼的以.py 為擴(kuò)展名的文件。要運(yùn)行編寫的代碼,就需要使用Python 解釋器去執(zhí)行.py 文件。因此,Python 解釋器就是用來執(zhí)行Python 代碼的一種工具。常見的Python 解釋器有以下幾種: CPython:Python 的官方解釋器

    2024年02月09日
    瀏覽(20)
  • 修改linux的/sys目錄下內(nèi)核參數(shù)、模塊...

    ① /sys/devices 該目錄下是全局設(shè)備結(jié)構(gòu)體系,包含所有被發(fā)現(xiàn)的注冊在各種總線上的各種物理設(shè)備。一般來說,所有的物理設(shè)備都按其在總線上的拓?fù)浣Y(jié)構(gòu)來顯示,但有兩個例外,即platform devices和system devices。platform devices一般是掛在芯片內(nèi)部的高速或者低速總線上的各種控制

    2024年02月05日
    瀏覽(92)
  • Python模塊:hashlib模塊教程

    1.hashlib的簡介 hashlib 是一個提供了一些流行的hash(摘要)算法的Python標(biāo)準(zhǔn)庫.其中所包括的算法有 md5, sha1, sha224, sha256, sha384, sha512等 什么是摘要算法呢?摘要算法又稱哈希算法、散列算法。它通過一個函數(shù),把任意長度的數(shù)據(jù)轉(zhuǎn)換為一個長度固定的數(shù)據(jù)串(通常用16進(jìn)制的字符

    2023年04月08日
    瀏覽(19)
  • Python標(biāo)準(zhǔn)庫sys

    Python實用教程_spiritx的博客-CSDN博客 sys 模塊主要負(fù)責(zé)與 Python 解釋器進(jìn)行交互,該模塊提供了一系列用于控制 Python 運(yùn)行環(huán)境的函數(shù)和變量。 對象名稱 對象說明 sys.argv 命令行參數(shù)List,第一個元素是程序本身路徑? sys.path 返回模塊的搜索路徑,初始化時使用PYTHONPATH環(huán)境變量的

    2024年02月09日
    瀏覽(16)
  • python之sys庫

    sys.argv 命令行參數(shù)List,第一個元素是程序本身路徑 sys.modules.keys() 返回所有已經(jīng)導(dǎo)入的模塊列表 sys.exc_info() 獲取當(dāng)前正在處理的異常類,exc_type、exc_value、exc_traceback當(dāng)前處理的異常詳細(xì)信息 sys.exit(n) 退出程序,正常退出時exit(0) sys.hexversion 獲取Python解釋程序的版本值,16進(jìn)制格

    2023年04月15日
    瀏覽(18)
  • 用Python制作一個自動點(diǎn)擊器,三種模塊都可以

    顧名思義,Python中的自動點(diǎn)擊器是一個簡單的Python應(yīng)用程序,可以按照用戶的要求重復(fù)點(diǎn)擊鼠標(biāo)。不同的參數(shù),如速度、頻率和位置,可以根據(jù)用戶的要求進(jìn)行改變。 Python有不同的模塊可用于控制鍵盤、鼠標(biāo)等設(shè)備。因此,我們可以使用這些模塊在Python中輕松創(chuàng)建一個自動點(diǎn)

    2024年02月12日
    瀏覽(20)
  • dxgmms2.sys藍(lán)屏的三種解決方法

    dxgmms2.sys藍(lán)屏的三種解決方法

    藍(lán)屏問題是我們經(jīng)常遇到的問題,最近很多小伙伴在玩英雄聯(lián)盟的時候發(fā)現(xiàn)了dxgmms2.sys藍(lán)屏錯誤代碼,不知道怎么解決。只要一玩就會出現(xiàn),之前沒有出現(xiàn)過,一般情況下肯定是第三方軟件沖突導(dǎo)致,卸載惡意軟件,更新最新的驅(qū)動就可以了。 方法一: 1、首先了解引發(fā)藍(lán)屏

    2024年02月12日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包