import os\nimport codecs\nimport argparse\nos.chdir(\'C:\\\\Users\\\\Kingsaber\\\\Desktop\\\\python_excercises\')\na = codecs.open(\'BeforeKichiku.txt\', encoding=\'utf-8\')\np = a.read()\nprint(p)\n\nimport re\n\n#ch = u"I am from \xe7\xbe\x8e\xe5\x9b\xbd\xe3\x80\x82We should be friends. \xe6\x9c\x8b\xe5\x8f\x8b."\n\nb = re.findall(u"[\\u4e00-\\u9fff]+", a)\nfor x in b:\n print(x)\nRun Code Online (Sandbox Code Playgroud)\n\n预期结果:打印出变量“a”中的所有内容,并找到 u4e00-\\u9fff 之间的所有 unicode 字符并在下面打印出来。
\n\n发生了什么:文档成功打印出来,但正则表达式搜索出现以下错误。如果我切换正则表达式来搜索字符串“ch”,一切都会按预期工作。由于某种原因,它不适用于 Unicode 文档。
\n\n错误:
\n\nTraceback (most recent call last):\n File "C:/Users/Kingsaber/Desktop/destruga3.py", line 15, in <module>\n b = re.findall(u"[\\u4e00-\\u9fff]+", a)\n File "C:\\Users\\Kingsaber\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\re.py", line 213, in findall\n return _compile(pattern, flags).findall(string)\nTypeError: expected string or bytes-like object\nRun Code Online (Sandbox Code Playgroud)\n 我继续得到下面的错误,有人可以告诉我我做错了什么?
Traceback (most recent call last):
File "generate_simulated_pair.py", line 50, in <module>
outfile = open(os.path.join(settings.CSV_DATA_DIR ,"%s_%s.csv"%(pair, d.strftime ("%Y%m%d")
File "C:\Program Files\Python35\lib\ntpath.py", line 113, in join
genericpath._check_arg_types('join', path, *paths)
File "C:\Program Files\Python35\lib\genericpath.py", line 143, in _check_arg_types
(funcname, s.__class__.__name__)) from None
TypeError: join() argument must be str or bytes, not 'NoneType'
Run Code Online (Sandbox Code Playgroud)
请参阅下面的内容,这是用于从oanda创建CSV文件以进行回溯测试
from __future__ import print_function
import calendar
import copy
import datetime
import os, os.path
import sys
import numpy as np
import pandas as pd
import pandas_datareader
from pandas_datareader import data, wb …Run Code Online (Sandbox Code Playgroud) 为什么我们可以将模块名称作为变量来builtins.__import__运行,而我们必须直接将模块名称赋予import语句?
语句和导致这种差异的函数之间有什么区别?
我想创建一个随机的元组列表,其中每个元组的长度相同(例如6个),并由随机选择 values = [0, 15, 30, 45, 60].
一个示例解决方案是[(0, 30, 60, 0 , 15, 0)...(15, 45, 45, 0, 30, 60)].但是,我不想接受(0, 0, 0, 0, 0, 0)这个解决方案.
我想知道是否有人可以帮助提出一个优雅的解决方案,如何将从路由器的格式API收到的时间字符串拆分"4d12h33m59s"成碎片.
问题是字符串可能是动态大小.例如,它可以是"4d12h33m59s"或"12h33m59s"或"12y14w4d12h33m59s"或"12m23s","33s".
是否有任何优雅的方法来分割字符串并得到如下列表:
received_string = "12y14w4d12h33m59s"
time_list = convert_string(received_string)
print(time_list)
["12y","14w","4d","12h","33m","59s"]
Run Code Online (Sandbox Code Playgroud) 目前通过"Python编程:CS简介"学习python,在将字符串拆分为列表之前,所有内容都已清晰可见.总的来说,我得到了要点,str.split()但只是发现了一些有点古怪的东西.
这本书有以下例子:
>>> myString = "Hello, string methods!"
>>> myString.split()
['Hello,' , 'string' , 'methods!']
Run Code Online (Sandbox Code Playgroud)
作者说,myString现在已经分成三个子串的列表.
继续,这样做变成myString一个列表:
>>> myString = "Hello, string methods!"
>>> myString2 = myString.split()
>>> myString2
['Hello,' , 'string' , 'methods!']
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.
在使用shell进行自己的实验后,我发现了以下内容:
# Testing splitting of variable x
>>> x = "Pleased to meet you"
>>> x
'Pleased to meet you'
>>> x.split()
['Pleased', 'to', 'meet', 'you']
>>> type(x)
**<class 'str'>**
# Testing behavior of splitting …Run Code Online (Sandbox Code Playgroud) 我有一个Python列表:
data = ['Cost', '$', 4244, '$', 4090, '$', 3967]
Run Code Online (Sandbox Code Playgroud)
我想要做的是合并$前面的元素并获得一个新的列表:
data = ['Cost', '$4244', '$4090', '$3967']
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?
我正在尝试使用python regex从文本解析JSON对象。我找到了这个匹配项:
'\{(?:[^{}]|(?R))*\}'
Run Code Online (Sandbox Code Playgroud)
但是在python中,我得到了这个错误:
re.error: unknown extension ?R at position 12
Run Code Online (Sandbox Code Playgroud)
请参见此regex101示例中的regex匹配项。
我有一个列表列表,我想找到出现“ //”的索引。我知道如何使用嵌套循环,但是我想使用列表理解。我的清单是:
ex = [['foo', 'faa'], ['//', 'sd'], ['foo', 'kaa'], ['side', 'haha', 'blue'], ['//', 'sd']]
Run Code Online (Sandbox Code Playgroud)
如何在此处使用列表理解来查找出现“ //”的索引?到目前为止,我所做的是:
indices = [idx for idx, lst in enumerate(ex)]
Run Code Online (Sandbox Code Playgroud)
这给了我列表中列表的索引。但是我不知道如何使用这些来查找'//'使用列表理解的索引。
对于上面的ex示例,预期输出为
[1, 4]
Run Code Online (Sandbox Code Playgroud)
例如,对于含有嵌套列表的索引'//',这是ex[1]和ex[4]。
我对python3.6中的内存错误有一些疑问
import itertools
input_list = ['a','b','c','d']
group_to_find = list(itertools.product(input_list,input_list))
a = []
for i in range(len(group_to_find)):
if group_to_find[i] not in a:
a.append(group_to_find[i])
Run Code Online (Sandbox Code Playgroud)
group_to_find = list(itertools.product(input_list,input_list))
MemoryError
Run Code Online (Sandbox Code Playgroud) python ×10
python-3.x ×4
list ×2
regex ×2
json ×1
python-2.7 ×1
python-3.5 ×1
random ×1
split ×1
string ×1
time ×1