我有一个名为'mb'的列表,其格式为:
['Company Name', 'Rep', Mth 1 Calls, Mth 1 Inv Totals, Mth 1 Inv Vol, Mth 2
Run Code Online (Sandbox Code Playgroud)
...等等
在下面的代码中,我只需附加一个38 0的新列表.这可以.
但是在下一行中我得到一个错误:'generator'对象不支持项目分配
任何人都可以告诉我:1)如何纠正这个错误,2)为什么下面的len(mb)-1被认为是一个发电机.
注意:row [0]仅仅是另一个列表中的"公司名称".
mb.append(0 for x in range(38))
mb[len(mb)-1][0]=row[0]
Run Code Online (Sandbox Code Playgroud) path='U:\\rmarshall\Work For Staff\\ROB\\_Downloads Folder\\'
file='file.pdf'
newFileName=time.strftime('%Y-%m-%d_')+row[1]+time.strftime('_%H:%M:%S')+'.pdf'
newFolderLocation='U:\\Company - do not alter\\'
os.rename(path+file,newFolderLocation+newFileName)
Run Code Online (Sandbox Code Playgroud)
当我跑步时,我得到:
>>> os.rename(path+file,newFolderLocation+newFileName)
OSError: [WinError 123] The filename, directory name, or volume label syntax is
incorrect: 'U:/Company - do not alter/2014-01-14_COMPANY NAME_13:55:23.pdf'
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到语法错误?
参见示例,为什么=和.extend之间存在这种差异:
d1=[1,2,3]
d2=[7,8,9]
d={1:d1,2:d2}
for key,value in d.items():
value=['a','b','c']
Run Code Online (Sandbox Code Playgroud)
输出:{1: [1, 2, 3], 2: [7, 8, 9]}
for key,value in d.items():
value.extend(['a','b','c'])
Run Code Online (Sandbox Code Playgroud)
输出:{1: [1, 2, 3, 'a', 'b', 'c'], 2: [7, 8, 9, 'a', 'b', 'c']}
.extend似乎具有写入功能=不.我想深入研究为什么这是令人高兴的.
目前我使用隐式等待来定位元素,然后才对它们发出任何操作.请参阅隐式等待的示例:
WebDriverWait(browser,10).until(EC.presence_of_element_located(By.XPATH(('xpath')))
Run Code Online (Sandbox Code Playgroud)
这在处理单个元素时工作正常.但是,看起来如果xpath与多个元素相关,EC.presence_of_element_located()则会超时.我的问题是,如何隐式等待多个元素?
单个元素 -
WebDriverWait(browser,10).until(EC.presence_of_element_located(By.XPATH(('xpath')))
browser.find_element_by_xpath('xpath')
Run Code Online (Sandbox Code Playgroud)
多元素 -
??
browser.find_elements_by_xpath('xpath')
Run Code Online (Sandbox Code Playgroud)
注意:请注意find_elements_by_xpath()在多个元素实例中使用而不是find_elements_by_xpath()
在下面的代码中,如何在函数f中获得*args和**kwargs而不需要包装函数?
def f(func):
def wrapper(*args, **kwargs):
print(args)
print(kwargs)
return func(*args,**kwargs)
return wrapper
@f
def write(text):
print(text)
# write = a(write)
write('dog')
Run Code Online (Sandbox Code Playgroud)
尝试失败1:
def f(func):
a=func(*args)
k=func(**kwargs)
Run Code Online (Sandbox Code Playgroud)
这会导致错误:
NameError: global name 'args' is not defined
Run Code Online (Sandbox Code Playgroud)
尝试失败2:
def f(func(*args,**kwargs)):
a=func(*args)
k=func(**kwargs)
Run Code Online (Sandbox Code Playgroud) NewType=type('nt',(object,),{'x':'hello'})
n=NewType()
n.x
'hello'
Run Code Online (Sandbox Code Playgroud)
我怎样{'x':'hello'}从n 获得dict ?
尝试失败: n.__bases__, n.__dir__, n.__dict__
我写了以下内容:
y=open('S:\\02012014EASTERN.TXT','r').readlines()
Run Code Online (Sandbox Code Playgroud)
我不知道该文件现在是否已关闭.我该如何测试?
a = [1,2,3,4,5]
b = [6,7,8,9,10]
Run Code Online (Sandbox Code Playgroud)
.
for x in a and b:
print(x)
Run Code Online (Sandbox Code Playgroud)
产出:6 7 8 9 10
for x in a or b:
print(x)
Run Code Online (Sandbox Code Playgroud)
输出:1 2 3 4 5
有人可以解释为什么在这两个实例中产生这个输出.
我一直在阅读Python标准库的第6部分.我来到以下字符串格式:
"Weight in tons {0.weight}" # 'weight' attribute of first positional arg
Run Code Online (Sandbox Code Playgroud)
我不明白在.format托架中放置什么来代替weight重量.如果有人可以提供帮助,将不胜感激.
作为尝试我尝试了以下,但它失败了:
"Weight in tons {0.weight}".format({'weight':10})
Run Code Online (Sandbox Code Playgroud)
错误:
AttributeError: 'dict' object has no attribute 'weight'
Run Code Online (Sandbox Code Playgroud) 我的课:
class myClass:
pass
Run Code Online (Sandbox Code Playgroud)
我想重新创建这个效果:
x = myClass()
y = myClass()
z = myClass()
Run Code Online (Sandbox Code Playgroud)
在for循环中,因为我需要循环的次数每次都会变化.
试试这个:
x = 3
for i in range(x):
cls = myClass()
Run Code Online (Sandbox Code Playgroud)
不起作用,因为在每次迭代中我重新创建类实例.
我的想法是,在每个循环中,我需要创建类的副本并将其存储在dict中以进行引用.所以我的问题是:
到目前为止,我创建课程的尝试都没有成功,因为课程并非完全是个人的.
x = deepcopy(cls)Run Code Online (Sandbox Code Playgroud)CopyOfCls = type('CopyOfCls', cls.__bases__, dict(cls.__dict__))Run Code Online (Sandbox Code Playgroud)
编辑:Answerers透露,我实际上正在寻找创建多个类实例.
python ×10
python-3.x ×10
for-loop ×2
args ×1
attributes ×1
class ×1
copy ×1
decorator ×1
extend ×1
file ×1
formatting ×1
generator ×1
kwargs ×1
list ×1
selenium ×1
string ×1
syntax-error ×1
types ×1
xpath ×1