亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Bagaimana untuk menyelesaikan masalah menjalankan arahan bash yang memerlukan kata laluan dalam Python
P粉476046165
P粉476046165 2024-03-22 13:20:24
0
1
940

Saya sedang menulis fungsi Python yang perlu mengeksport pangkalan data MySQL ke fail .sql menggunakan bash. Saya menggunakan arahan mysqldump.

mysqldump -u bandana -p movies > /Users/Mac/Downloads/testOutput.sql

Arahan ini berfungsi dengan baik untuk tujuan saya. Soalan saya ialah bagaimana untuk menukar ini menjadi skrip Python yang boleh dijalankan daripada fungsi.

Saya cuba menggunakan os.system, tetapi ia memerlukan kata laluan dalam terminal semasa operasi.

def cloneDB():
    os.system("mysqldump -u bandana -p movies > /Users/Tis_Me/Downloads/testOutput.sql")

輸入密碼:

Saya juga cuba menggunakan modul subproses, tetapi saya tidak tahu apa-apa mengenainya. Saya hanya mendapat beberapa ralat yang saya tidak tahu bagaimana untuk membetulkannya.

def cloneDB():
    subprocess.run(["mysqldump", "-u bandana", "-p movies", "> /Users/Tis_Me/Downloads/testOutput.sql"])

Saya tertanya-tanya sama ada terdapat sebarang parameter tambahan atau perkara lain yang boleh saya tambah untuk memasukkan kata laluan secara automatik supaya fungsi itu tidak perlu meminta kata laluan.

Hasil yang diingini ialah fungsi cloneDB() berjalan tanpa meminta kata laluan.

P粉476046165
P粉476046165

membalas semua(1)
P粉647504283

Anda boleh meletakkan kata laluan terus dalam baris arahan, serta-merta mengikuti -p

Anda juga tidak boleh meletakkan ubah hala keluaran dalam senarai parameter. Itu sintaks shell, bukan parameter arahan. Anda boleh menggunakan pilihan subprocess.run()stdout untuk mengubah hala outputnya.

def cloneDB():
    password = "something"
    with open("/Users/Tis_Me/Downloads/testOutput.sql", "w") as sqlfile:
        subprocess.run(["mysqldump", "-u", "bandana", f"-p{password}", "movies"], stdout=sqlfile)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan