如何绕过Python的字符数限制?

时间:2019-05-15 07:03:48

标签: python python-3.x

我正在Python 3.7中进行数学运算。这些数学运算的数字字符串为10k +。当我将这些数字字符串复制并粘贴到Python 3.7中时,它们会被切断。因此,我无法进行数学运算。

format(y,'o')

**Note:** “y” is a digit string of 10k+

是否可以绕过Python 3.7中的此字符限制?

注意:这是字符串或字符限制的问题。这不是处理大量数字的问题。这些问题正相关。但是,它们仍然根本不同。因此,这不是重复的主题。

修改2:

多亏了安德鲁·F,我才开始努力

if 1:
 from pathlib import Path
 y = Path(r"C:\Users\l\Desktop\y.txt").read_text()
 y = int(y)
 format(y,'o')

**note:** “y.txt” contains only the digit string

1 个答案:

答案 0 :(得分:0)

如果字符串中有新行,则可以使用I am super excited for this course! I am super excited for this course! I am super excited for this course! I am super excited for this course! I am super excited for this course! 将其粘贴到控制台中作为块引号的一部分,以标记开始和结束。只要每一行都在系统控制台的限制之内(Windows大约为8000),那么您就可以了。

编辑:无论系统控制台是否受限制,从文件中读取数据或多或少都可以保证正常工作。您可以使用"""(Python 3标准库的一部分)或pathlib来实现,如果您使用的是Python 2

pathlib2

编辑2:这是如何从文本文件中读取内容的完整示例。

假设您有一个巨大的数字(例如googol),并将其放在名为from pathlib import Path y = Path('path/to/your/file.txt').read_text() 的文本文件中。 gigantic-number.txt的内容看起来像

gigantic-number.txt

在Python控制台中,您可以加载该文件的内容,然后将其转换为整数。通过10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

使用之前的示例
pathlib

一些巨大数字来源产生的文本文件中包含换行符。这使它们在诸如记事本之类的简单文本编辑器中更具可读性。一个示例来自GIMPSM3217.txt看起来

>>> from pathlib import Path
>>> # read the contents of the file as a string
>>> y = Path('gigantic-number.txt').read_text()
>>> # convert the string into an integer, this will fail unless it's actually a number
>>> y = int(y)

以之前的示例为基础,您可以从文件中读取该内容,删除空格,然后然后将其强制转换为整数。

2591170860132026277762467679224415309418188875531254273039749231618740192665863620862012095168004834
0655069524173319417744168950923880701741037770959751204231306662408291635351795231118615486226560454
7691127595848775610568757931191017711408826252153849035830401185072116424747461823031471398340229288
0745456779079410372882358207058923510684338829868886166586502809276920803396058693087905004095037098
7590211901837199162099400256893511313654882973911265679730324198651725011641270350970542777347797234
9821676443446668383119322540099648994051790241624056519054483690809616061625743042361721863339415852
4264312087372665919620617535357488928945996291951830826218608534009379328394202618665861425032514507
7309627423537682293864940712770084607712421182308080413929808705750471382526457144837937112503208182
6126566649084251699453951887789613650248405739378594599444335231188280123660406262468609212150349937
584782292237144339628858485938215738821232393687046160677362909315071

为清楚起见,只有数字在文本文件中输入。您编辑的问题似乎使您也将Python代码也粘贴到了文本文件中,这将无法解决此问题。