如果您输入的数据如您提到的,例如'USD -$1,009.00 USD','USD $1,95858.98 USD'等等,那么您也可以使用以下方法获取它。>>> dollar1 = 'USD -$1,009.00 USD'>>> money = dollar1.split('$')[1].split()[0]>>>>>> money'1,009.00'我用自己的名为“字符串”的模块对Python的内置字符串模块进行了阴影测试,以测试模块的搜索路径行为。我的自定义字符串脚本仅print('string' * 2)包含内容。它位于当前目录中,如下面的代码所示。Python 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)]Type 'copyright', 'credits' or 'license' for more informationIPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.In [1]: %pwdOut[1]: 'C:\\Users\\stephen'In [2]: import stringIn [3]: stringOut[3]: <module 'string' from 'C:\\ProgramData\\Anaconda3\\lib\\string.py'>In [4]: import impIn [5]: imp.reload(string)stringstringOut[5]: <module 'string' from 'C:\\Users\\stephen\\string.py'>有关在IPython中重新加载的三个问题:为什么reload认为它实际导入的模块(本地string.py)已经被导入了?只是文件名相同吗?为什么重装导入的模块不同于已导入的模块?是否跳过了在原始导入期间首先检查的sys.modules词典的检查?为什么reload / IPython / Python不知道它已经在这里拉出了一个快速的模块,而是将一个模块切换为另一个模块?编辑:在来回尝试照顾Stack Overflow抱怨我的代码块的过程中,我无意中丢失了一些我想说的话。这是我能记住的:IPython在启动时将内置的字符串模块添加到sys.modules字典中(在sys.path之前搜索sys.modules),而常规的Python交互式提示则不这样做。因此,与交互式提示和IPython相比,我得到了不同的行为。在交互式提示下,我总是得到本地的string.py,因为sys.path从当前目录开始以进行模块搜索。因此,我对常规交互式(Anaconda)与IPython之间的区别了解很多。我列出的问题仍然让我感到困惑。
添加回答
举报
0/150
提交
取消