错误提示是语法错误
看到你报错的地方在冒号附近,很大可能是你写了中文的冒号,教你一招。
中文的冒号占两个位置 :
英文占用一个位置 :
通过鼠标的选中后你可以看到的。
import osimport shutil
import sys
format1 = ['0','1','2','3','4','5','6','7','8','9']
mylist = []
reststr = ""
def filePath(FilePath):
path = FilePath
for t in os.listdir(path):
Name = "%s" %(t)
FileName = os.path.join(path, Name)
if '.' in Name: # --要先判断文件名有没有后缀名吧
mylist = Name.split('.')
mylist.remove(mylist[len(mylist)-1]) #--如果文件名包含多个点,肯定是最后一个是后缀名,删除最后一个listitem即可
reststr = ''.join(mylist) #--将split切割出来的list重新组合成string
#if os.path.isfile(FileName): --这句没有必要吧
if len(reststr) >=3: #--你判断倒数第三个字符,那总要这个文件名总长度大于等于3才能判断吧,不然不就越界了!
str = os.path.splitext(t)[0]
if (str[-3] == '('):
print(str)
#if (str[-3] == '(') and (str[-1] == ')') and ((str[-2] in format1) == True):
#os.remove(FileName)
sPath = input("Path:\n")
filePath(sPath)
空列表就是没读到东西啊
我猜你是不是前面第一个循环写文件操作没有真正写入到磁盘上;
这和ln原来是啥没关系,
>>> f=open("a","w")>>> f.write("1111")
>>> with open("a") as file:
print file
print file.readlines()
<open file 'a', mode 'r' at 0x0000000002B3D4B0>
[]
>>> f.flush()
>>> with open("a") as file:
print file
print file.readlines()
<open file 'a', mode 'r' at 0x0000000002B3D390>
['1111']
>>>