私はプログラミングが初めてで、最近24時間以内に作成または変更されたファイルを転送する関数をPythonで作成しています。最後に、SQlite3データベースを使用して最後のファイル転送の日時を追跡する方法を理解する必要があります。私はSQlite3でデータベースとテーブルを作成する方法を知っていますが、それをファイル転送機能に結びつけることになります。これは私のファイル転送のためのコードです:SQlite3を使った関数の使用を追跡する
import os,time
import datetime
import shutil
import datetime as dt
conn = sqlite3.connect('file_check.db')
c = conn.cursor()
now = dt.datetime.now()
ago = now-dt.timedelta(hours=24)
strftime = "%H:%M %m/%d/%Y"
created = ('C:\\Users\\Jacqueline\\Desktop\\created')
dest = ('C:\\Users\\Jacqueline\\Desktop\\dest')
def file_trans(created, dest):
for root, dirs,files in os.walk(created):
for fname in files:
path = os.path.join(root, fname)
st = os.stat(path)
mtime = dt.datetime.fromtimestamp(st.st_mtime)
if mtime > ago:
print("True: ", fname, " at ", mtime.strftime("%H:%M %m/%d/%Y"))
shutil.move(path, dest)
c.execute("INSERT INTO FileCheck (unix, datestamp, timestamp) VALUES (?,?,?)", (unix, datestamp, timestamp))
conn.commit
conn.close
def main(source, destination):
# parameters passed into file_trans
source = created
destination = dest
#call file_trans
file_trans(source, destination)
if __name__=='__main__':
main()
ファイル転送が行われたときに私が追跡できるようにsqlite3のテーブルに何とかこれをリンクする方法上の任意のアイデアを?データベースを作成するための私のコードは次のとおりです。
import sqlite3
import time
import datetime #creates datestamp
import random #creates value
conn = sqlite3.connect("file_check.db") #defines connection
c = conn.cursor()
def create_table():
c.execute("CREATE TABLE IF NOT EXISTS FileCheck(unix REAL, datestamp TEXT, timestamp TEXT)")
def dynamic_data_entry():
unix = time.time() #timestamp
datestamp = str(datetime.datetime.fromtimestamp(unix).strftime('%m/%d/%Y')) #formats datestamp
timestamp = str(datetime.datetime.fromtimestamp(unix).strftime('%H:%M:%S'))
c.execute("INSERT INTO FileCheck (unix, datestamp, timestamp) VALUES (?,?,?)",
(unix, datestamp, timestamp))
conn.commit()
create_table()
c.close()
conn.close()
テーブルはうまくありません - 私は関数にリンクするだけです。
あなたは既に '' now''で時刻と日付を取得していますので、sqlite3 dbの作成方法を知っているので、単純に '' db.execute( "INSERT ....."、。 ..) ''あなたのテーブルに対応する適切なパラメータをfile_trans関数の最後に指定してください –
SQLiteデータベースとはどのようにやりとりしていますか?学ぶには少し時間がかかるかもしれませんが、SQLAlchemyはPythonでデータベースを扱う際の優れたツールです。このようなシンプルなプロジェクトではおそらく残念ですが、長期的には学習価値があります。 –
データベースが作成されたら、私はそれを自分の関数で参照するだけでいいですか?それは私がファイル転送が使用されるたびに追跡することができますか? – nikkiy