我希望该程序自动检查文件是否存在。我想要一种始终检查当前用户的文档文件夹的方法。
if os.path.exists(r"%SystemDrive%\Users\{username}\Documents\QQOutput.bas"):
因此,就像目标始终是当前登录的用户一样,我不必为其他用户等更改代码。我不想为不同的用户/目录创建多个python文件。
import keyboard
import time
import ctypes
def Mbox(title, text, style):
return ctypes.windll.user32.MessageBoxW(0, text, title, style)
if os.path.exists(r"%SystemDrive%\Users\{username}\Documents\QQOutput.bas"):
Mbox('It exists', 'Please open the csv and then press ok. It will work after 5 seconds', 1)
time.sleep(5)
keyboard.press_and_release('alt+f11')
keyboard.press_and_release('ctrl+m')
keyboard.write("QQOutput.bas")
keyboard.press_and_release("enter")
keyboard.press_and_release("f5")
keyboard.press_and_release("enter")
else:
Mbox('Error','QQOutput.bas is not in Documents!. Please put QQOutput.bas in your document folder.', 1)
用户:Marco
消息框:“请打开csv,然后按确定。它会在5秒钟后开始工作。
用户:James
MessageBox:'请打开csv,然后按OK。它会在5秒钟后起作用
答案 0 :(得分:0)
使用os.path模块中的expanduser()函数。
expanduser('~')
返回当前登录用户的主目录的路径。
您可以通过以下方式在脚本中使用它:
(base) C:\Users\andris>python
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> doc = os.path.expanduser(r"~\Documents\QQOutput.bas")
>>> doc
'C:\\Users\\andris\\Documents\\QQOutput.bas'
>>> if os.path.exists(doc):
... work()