<p>我有一个python类。在</p>
<pre><code>class copyingfiles():
@staticmethod
def __init__(self, x=[], y=[], z=None, i=None):
self.x = x
self.y = y
self. z = z
self.i= i
@staticmethod
def mover(self):
x = self.x
y= self.y
z = self.z
i= self.i
for sam in x.keys():
for pids in y:
PID = pids.split('_')[1]
if sam in pids:
destination = z + "/rep/" + "study/" + id + "/" + sam + "/rh/"+ "fg/"
if not os.path.isdir(destination):
pathlib.Path(destination).mkdir(parents=True, exist_ok=True)
for files in fnmatch.filter(os.listdir(i), pat="*.gz"):
if sam in files:
shutil.copy(os.path.join(i,files), os.path.join(destination,files))
return(destination)
</code></pre>
<p>其中x=[],y=[]是字典,z=None,I=None是路径。在</p>
<p>我尝试在我的类<code>copyingfiles</code>中调用函数,如下所示</p>
^{pr2}$
<p>它抛出以下错误</p>
<pre><code>TypeError Traceback (most recent call last)
<ipython-input-50-7da378685d71> in <module>
----> 1 testInstance = copyingfiles()
2 testInstance.mover(x, y,z,i)
TypeError: __init__() missing 1 required positional argument: 'self'
</code></pre>
<p>我对python类有理论上的理解。然而,从未尝试过。所以任何帮助都太好了!在</p>