Имеет ли символ "~" какое-то особое значение в питоне 3? - PullRequest
0 голосов
/ 20 сентября 2019

У кого-то, кого я занял в качестве аналитика данных, есть программа, которая ищет «плохой символ» в имени файла, который они присваивают в переменной «~».Это печатает «плохой символ в имени файла».Это распечатывает при проверке папки, если файл существует там, но я не понимаю, почему.Программа просто ищет, была ли метка файла добавляемого файла сегодня, не имеет значения имя.

for filename in os.listdir(strSrcName):    # llok through files in the directory of the second row in SQL table, SAT_Report_Status
            mdate = datetime.datetime.fromtimestamp(os.stat(strSrcName + filename).st_ctime).strftime('%m/%d/%Y')
            jdate =  datetime.datetime.fromtimestamp(os.stat(strSrcName + filename).st_ctime).strftime('%Y/%j')
            if filename.find(strFileName) >=0:   # If number of files is 0 or more?
                badchar = "~"   # Not sure what this is for
                if filename[0] in badchar:
                    print("Bad Char found in file name, skipping...")
                else:
                    if mdate == fdate or jdate == juldate:  # if the files timestamp == the current timestamp (now)
                        print(strFileName + " Found! Counting and Moving...")

Имеет ли это какое-то особое значение в Python?Я даже не знаю, что это вообще означает

1 Ответ

1 голос
/ 20 сентября 2019

Чтобы дать правильный ответ - "~" на самом деле не имеет особого значения в Python, поскольку это просто кусок str объекта.Буквенный символ ~, однако, используется в бинарной операции , но в данный момент это не ваша задача.

Как уже упоминалось, ваш скрипт, похоже, ищет имена файлов, начинающиеся с ~.Это связано с ОС - в Windows файлы, начинающиеся с ~, обозначают временный файл, который ваш скрипт, похоже, хочет игнорировать (возможно, потому что данные не имеют смысла для скрипта).

...