2017-10-09 79 views
0

我是一個完整的初學者python,我正在做我的第一個python腳本,真的做任何事情。我將一個目錄分配給一個變量,以便我可以使用它來移動一個文件,但是該目錄包含一個以開頭的文件夾。和python說這是無效的語法。那麼我怎麼才能讓python忽略這個。? 編輯:這裏是你混合兩個非常不同的事情代碼如何在Linux上以python開頭的文件/目錄。

#!/usr/bin/env python 
import os 
Optifine = find /home/Sol33t303/.minecraft -name 
OptiFine_1.10.2_HD_U_E3.jar 
shutil.move(Optifine, "/home/Sol33t303/.minecraft/mods") 
+0

請發佈您的代碼到目前爲止。這使我們更容易提供幫助。 –

+0

完成@ErikCederstrand – Sol33t303

回答

0

你寫的Python猛砸,因爲這是完全擊:

Optifine = find /home/Sol33t303/.minecraft -name 

你不能只運行一個Python腳本中使用bash命令!

例如如果你想你的腳本中運行shell命令,並得到它的輸出,你可以使用:

Optifine = subprocess.check_output(['find', '/home/Sol33t303/.minecraft', '-name']) 

然後你用線把標準輸出和foreach行(文件中),將其移動到所需的目的地:

for line in Optifine.splitlines(): 
    shutil.move(Optifine, "/home/Sol33t303/.minecraft/mods") 
+0

我正在閱讀如何在python中查找文件,以及https://spectraldifferences.wordpress.com/2014/03/02/recursively-finding-files-in-python-using-the-find-command /它說你可以在python中使用find命令。感謝您的幫助:) – Sol33t303

+0

@ Sol33t303,如果您將注意力放在指南上,第一行顯示如何使用shell輕鬆完成此操作,稍後將解釋如何將它與子進程結合使用。 POPEN()'。我提出了更簡單的'subprocess.check_output()'替代方法。 –

+0

在該指南中,它說:「與Python中的子進程模塊相結合,在Python腳本中使用此搜索功能很容易」,我將其解釋爲您不需要這樣做,但被推薦。事後看來,我有點愚蠢。 – Sol33t303

相關問題