我正在寻找一种更像Python的方式来完成我的代码目前所做的事情。我相信有更好的办法。我想搜索直到filename-10,如果存在,创建一个名为filename-11的文件。在
如果你能帮忙那就太好了。在
编辑:9/1/14 9:46 PM
import re
import os
f=open('/Users/jakerandall/Desktop/Data Collection Python/temp.cnc', 'r')
text = re.search(r"(?<!\d)\d{4,5}(?!\d)", f.read())
JobNumber = text.string[text.start():text.end()]
if os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-10.cnc" % JobNumber):
f=open("/Users/jakerandall/Desktop/Data Collection Python/%s-11.cnc" % JobNumber, 'w+b')
f.close()
print '1'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-9.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-10.cnc' % JobNumber, 'w+b')
f.close()
print '2'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-8.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-9.cnc' % JobNumber, 'w+b')
f.close()
print '3'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-7.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-8.cnc' % JobNumber, 'w+b')
f.close()
print '4'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-6.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-7.cnc' % JobNumber, 'w+b')
f.close()
print '5'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-5.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-6.cnc' % JobNumber, 'w+b')
f.close()
print '6'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-4.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-5.cnc' % JobNumber, 'w+b')
f.close()
print '7'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-3.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-4.cnc' % JobNumber, 'w+b')
f.close()
print '8'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-2.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-3.cnc' % JobNumber, 'w+b')
f.close()
print '9'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-1.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-2.cnc' % JobNumber, 'w+b')
f.close()
print '10'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-1.cnc' % JobNumber, 'w+b')
f.close()
print '11'
else:
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s.cnc' % JobNumber, 'w+b')
f.close()
print '12'
f.close()
简单点的怎么样:
现在,
files
将是目录中实际存在并与您的模式匹配的文件名列表。在您可以检查此列表的长度,然后:
'{}.cnc'.format(JobNumber)
。在-
的文件,因此长度为11意味着最后一个文件是-10.cnc
)。在-4.cnc
(因为模式也将匹配第一个文件)。在您仍然需要查看是否可以打开它们,因为运行Python脚本的用户可能没有足够的权限。在
下面是一个将所有这些放在一起的示例:
^{pr2}$我真的写过这样的东西!不过,我是靠记忆工作的。这作为一个单独的模块很有用,因为以这种方式备份文件是相当常见的。在
就我个人而言,如果我真的有时间去做这件事,我会做更多的研究,做一些类似的事情:
^{pr2}$所以你可以这样做:
不过,我根本没有太多的机会来测试这一点,所以我猜它有点不对劲:)
相关问题 更多 >
编程相关推荐