ile nasıl değiştirebilirim? Python'da (ve genel olarak kodlamada) yeni bir yenilik yapıyorum ve özel sorunuma çevrimiçi bir çözüm bulamadım. Şu anda bir kullanıcının bir dosyayı bir ağ konumuna kaydetmesine izin verecek bir araç oluşturuyorum. Dosya bir sürüm numarasına sahip olacaktır. Benim istediğim, komut dosyasını otomatik olarak kaydetmeden önce güncellemek. Komut dosyasının geri kalanı var, ama sorun yaşadığım otomatik sürüm. İşte ben bugüne kadar ne var: Muhtemelen ana() başka modülünde bir QPushbutton tarafından çağrılan olacak işaret olmalıdırDosya adının bir kısmını python
import re
import os
def main():
wip_folder = "L:/xxx/xxx/xxx/scenes/wip/"
_file_list = os.listdir('%s' % wip_folder)
if os.path.exists('%s' wip_path):
for file in _file_list:
versionPattern = re.compile('_v\d{3}')
curVersions = versionPattern.findall('%s' % wip_folder)
curVersions.sort()
nextVersion = '_v%03d' % (int(curVersions[-1][2:]) + 1)
return nextVersion
else:
nextVersion = '_v001'
name = xxx_xxx_xx
name += '%s' nextVersion
name += '_xxx_wip
. Ayrıca, bu wip_path büyük olasılıkla içinde tek bir dosyanın birkaç versiyonuna sahip olacaktır. Yani bu dosyanın wip_path versiyonunun 10 sürümü varsa, bu kaydetme v011 olmalıdır. Bu sorunun mantıklı olmaması durumunda özür dilerim. Herhangi bir yardım takdir edilecektir. Teşekkür ederim!
Sorununuzun ne olduğundan tamamen emin değilsiniz. Sadece geçmiş sürümlerin nasıl bulunacağını ve yeni olanı nasıl adlandıracağınızı mı belirlemeye çalışıyorsunuz? – TheLazyScripter
temel olarak, evet. En yüksek sürüm numarasını bulmak için wip klasöründen geçmem gerekiyor. Sonra nextVersion değişkeninde sakladığım bir dizeyi almak için o sürümün sürüm numarasına 1 eklemem gerekiyor. Ben daha sonra son adlandırma kuralı için bunu yapıyorum. Benim wip dizini ex_v001.doc ex_v002.doc içinde ex_v003.doc varsa Temelde, benim sonraki ismini vermek kaydetmek istiyorum: ex_v004.doc Yalnızca döngü dışında, bir kez regex derlemek için gereken – shagler
. Sorunuz * does * sense btw yapar. ama sorunun ne olduğu belli değil. Mevcut çıktınız nedir? Şu an nasıl çalışmıyor? – jDo