2014-05-12 41 views
1
import os 
import time 
import shutil 
import subprocess 

data_dir = os.path.expandvars ('C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Data\Startup\delete.txt') 

s=0 
m=0 
h=0 
while s<=60: 
    os.system('cls') 
    print h, 'Hours', m, 'Minutes', s, 'Seconds' 
    time.sleep(1) 
    s+=1 


    if s == 60: 
     m+=1 
     s=0 
    elif m == 60: 
     h+=1 
     m=0 
     s=0 


    if s == 2: 
     os.system("TASKKILL /F /IM chrome.exe") 
     os.system("start textfile.txt") 


    if s == 5: 
     os.remove(data_dir) 


    if s == 10: 
     shutil.rmtree('C:\Users\SpanjerX\Downloads\Zips\Z.Current Project\deleteme') 

嘿,我的半新的編碼,我真的想不通,爲什麼我的環境變量不會在這個劇本的工作,如果我做一個打印文本測試我用戶名出現在路徑中,但在這個特定的腳本中,我似乎無法使os.remove命令與%USERNAME%環境變量一起使用。環境變量(os.path.expandvars)

任何幫助,將不勝感激:)

編輯, 我試圖讓這部分代碼:

import os 
import time 
import shutil 
import subprocess 


data_dir = os.path.expandvars ('C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Data\Startup\delete.txt') 


if s == 5: 
    os.remove(data_dir) 

刪除此文件「(「C:\用戶\ %USERNAME%\ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Data \ Startup \ delete.txt')「

但變量%USERNAME%在這種情況下似乎不起作用,米不是100%確定爲什麼。

編輯2,K我得到它的工作我所遇到的問題是疲勞:P,我做的是正確的,但我沒有足夠的警惕,如果路徑名正確-_- O_O。但是,克里斯普羅瑟爾給了我一個可敬的答案,我讚揚他與睏倦的斯潘傑爾打交道。

嘿BTW非常感謝您的幫助和抱歉,我的問題是 所以......可以說,凌亂:PI想通我有足夠的精力去 使我的問題,但我想,我是不是100%那裏,當我問 這個問題。非常感謝 !

尊敬並以極大的榮譽, Spanjer

+1

我不完全清楚你卡在哪個部分。它是如何獲得一個文件路徑到基於環境變量的變量? – ChrisProsser

+0

我在上面添加了一些編輯,Ty幫忙 – Rejnaps

回答

1

我已複製你的程序的簡化版本,它似乎很好地工作:

import os 
data_dir = os.path.expandvars ('C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Data\Startup\delete.txt') 
print(data_dir) 
os.remove(data_dir) 

我會建議檢查所產生的路徑的打印輸出上面小心地反對文件實際位於的位置。

打印返回下面顯示的環境變量的輸出是正確的解釋:

C:\Users\Prosserc\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Data\Startup\delete.txt

如果該文件是有它繼續並刪除它,如果沒有它引發錯誤:

WindowsError: [Error 2] The system cannot find the file specified: 'C:\\Users\\Prosserc\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Data\\Startup\\delete.txt' 

錯誤消息中引用的路徑應再次確認環境變量是否被正確解釋。