Python-删除文件+;mysql
我需要从文件夹中删除所有文件(不是我的)。我的脚本是C:\Python22 我有3个文件:MY_PROGRAM.dll,IM_A_TEXT.txt,STACKOVERFLOW.DAT 我想删除目录中除我的3个文件以外的所有文件 如果一个文件在删除时有OSError,我想将文件名发送到一个mysql表 我认为首先我们必须定义我的3个文件,以便: 我的文件1=“我的程序.dll” 我的文件2=“IM\u A\u TEXT.txt” 我的文件3=“STACKOVERFLOW.DAT” 然后我们必须列出(数组?)不是我的文件: 导入操作系统 files_only=filter(os.path.isfile,os.listdir(os.curdir)) 如果文件仅限于_!=我的文件1或仅限文件!=我的文件2或仅限文件!=我的文件3:Python-删除文件+;mysql,python,mysql,file,Python,Mysql,File,我需要从文件夹中删除所有文件(不是我的)。我的脚本是C:\Python22 我有3个文件:MY_PROGRAM.dll,IM_A_TEXT.txt,STACKOVERFLOW.DAT 我想删除目录中除我的3个文件以外的所有文件 如果一个文件在删除时有OSError,我想将文件名发送到一个mysql表 我认为首先我们必须定义我的3个文件,以便: 我的文件1=“我的程序.dll” 我的文件2=“IM\u A\u TEXT.txt” 我的文件3=“STACKOVERFLOW.DAT” 然后我们必须列出
try:
os.remove(files_only[*.*])
except OSError:
import MySQLdb, string
import time
mi_nombre = "Maria"
mode_check_FI = "ARCHIVOS"
tiempo = time.strftime('%Y-%m-%d %H:%M:%S')
FILE_1 = files_only[0]
FILE_2 = files_only[1]
FILE_3 = files_only[3]
FILE_4 = files_only[4]
FILE_5 = files_only[5]
mysql = MySQLdb.connect(IP, "USER", "PASSSWORD", "DB_NAME")
cursor = mysql.cursor()
try:
cursor.execute ("""INSERT INTO info (jugador, type_check, actual_time, FILE_1, FILE_2, FILE_3, FILE_4, FILE_5) values (%s, %s, %s, %s,%s, %s, %s, %s)""", (mi_nombre, mode_check_FI, tiempo, FILE1, FILE_2, FILE_3, FILE_4, FILE_5))
mysql.commit()
mysql.close()
except MySQL.Error:
pass
pass
提前谢谢你
编辑:
Python部分通过以下方式解决:
files_only = filter(os.path.isfile, os.listdir( os.curdir ))
my_files = ['MY_PROGRAM.dll', 'IM_A_TEXT.txt', 'STACKOVERFLOW.DAT']
for file in files_only:
if file not in my_files:
code..
根据我的理解,我可以提出以下建议
if files_only != my_file1 or files_only != my_file2 or files_only != my_file3:
上面这条线不是肾盂的。此外,将列表与字符串进行比较不会产生期望的结果。使用set()
my_files = {"MY_PROGRAM.dll", "IM_A_TEXT.txt", "STACKOVERFLOW.DAT"}
files_only = set(filter(os.path.isfile, os.listdir( os.curdir )))
for file in files_only - my_files:
your code
my_files={“my_PROGRAM.dll”、“IM_A_TEXT.txt”、“STACKOVERFLOW.DAT”}结果:语法错误:无效语法my_files=['my_PROGRAM.dll'、'IM_A_TEXT.txt'、'STACKOVERFLOW.DAT']结果:全局名称'set'未定义“set”类是在Python2.4中引入的,我正在使用2.2:(我正在使用Python3。对此感到抱歉。