擅长:python、mysql、java
<p>以下行有问题:</p>
<pre><code>if x not in userCodes:
</code></pre>
<p>userCodes不是列表,而是csvReader对象。另外,你应该使用</p>
<pre><code>if str(x) not in line:
#use str(x) instead of x
</code></pre>
<p>这是对我有效的代码:</p>
<pre><code>import csv
def generateUserCode():
with open ('file.csv') as csvDataFile:
csvread = csv.reader(csvDataFile)
userCodes = []
#print(userCodes)
for line in csvread:
try:
userCodes.append(line[0]) # As long as the code is the first
# element in that line, it should work
except:
IndexError # Avoid blank lines
print(userCodes)
for x in range(0, 201):
if str(x) not in userCodes:
return x
def writeUserCode(userCode):
with open ('file.csv', 'a') as csvDataFile:
csvDataFile.write('\n' + str(userCode))
userCode = generateUserCode()
writeUserCode(userCode)
</code></pre>