簡體   English   中英

Python腳本僅在從目錄運行時有效

[英]Python Script only works when run from directory

我有一個工作正常的腳本,但只有當您當前在目錄路徑中時才運行

directoryChosen = sys.argv[1]




for f in os.listdir(directoryChosen):
    fname, fext = os.path.splitext(f)
    if not f.startswith('.'):
        print f

        print fname + " Is fname"
        dest_path = fname
        print dest_path + " is dest path"
        print fname + "this is fname"
        if os.path.isdir(fname):
            print "Ended here/ Start work here"
            shutil.copy2(directoryChosen + '/' + f, dest_path)
        if not os.path.isdir(fname):
            print "working here kind of..lets make directories"

            os.mkdir(dest_path)
            print " Path is created"

            shutil.copy2(directoryChosen + f, dest_path)

工作,如果我跑

 python /Users/eeamesX/PycharmProjects/Workmain/groupFiles.py continuous/

2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd.csv
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd Is fname
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd is dest path
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6ddthis is fname
working here kind of..lets make directories
 Path is created
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd.wav
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd Is fname
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd is dest path
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6ddthis is fname
Ended here/ Start work here
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd.xml
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd Is fname
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd is dest path
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6ddthis is fname
Ended here/ Start work here

不起作用

python groupFiles.py / Users / eeamesX / work / data / GERMANY / DE_026 / continuous /

2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd.csv
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd Is fname
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd is dest path
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6ddthis is fname
Ended here/ Start work here
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd.wav
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd Is fname
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd is dest path
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6ddthis is fname
Ended here/ Start work here
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd.xml
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd Is fname
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6dd is dest path
2015-06-01#e3cea6c4-07f2-4b84-985d-5ecabae9a6ddthis is fname
Ended here/ Start work here
 grouped the files boss  

如果要雙向運行,我希望它創建目錄! 有什么幫助嗎?

os.listdir返回的名稱不包含目錄前綴。 因此,每個使用文件名的函數都要求您將目錄與名稱連接在一起。 例如

    if os.path.isdir(directoryChosen + '/' + fname):
        print "Ended here/ Start work here"
        shutil.copy2(directoryChosen + '/' + f, directoryChosen + '/' + dest_path)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM