我正在尝试编写一个脚本来命名一个文件,其中包含用户的用户名,日期,然后是唯一标识符。目标是使用户网络在共享数据库中以连续顺序以标准化格式为它们生成文件名。我能够生成用户名和日期,但是在分配标识符时遇到问题。我在想一个顺序的ascii_lowercase,但显然我不能有重复。
示例:用户doug在6月1日保存3个文件编辑,其文件应保存为doug060115a
,doug060115b
,doug060115c
。用户doug在6月2日再保存1个文件编辑,他的文件现在应保存为doug060215a
。
因此,文件名末尾的唯一标识符应从a开始,如果采用,则转到b,然后是c,依此类推。如果用户名或日期更改,唯一标识符应从a。
重新开始答案 0 :(得分:1)
您可以使用ord
的偏移和一些切片
def incrementName(s):
return s[:-1] + chr(ord(s[-1]) + 1)
>>> incrementName('doug060115b')
'doug060115c'
点击z
后确定要执行的操作(如果您预计会发生此情况)
答案 1 :(得分:0)
我建议在包含列的表中执行此操作:
user_id, user, date, sequential_letter
如果今天用户添加了更多文件,您将检查正在使用的字母并分配下一个字母。如果今天的日期发生变化,您将重新开始此序列。顺序数字可能更适合此目的。您可以使用SQLite。 Python处理得非常好。 http://zetcode.com/db/sqlitepythontutorial/