请帮助理解我的错误在哪里。
我创造的考验:
1.test_INCORRECT_FOLDER,其中1个excel文件不应被dsplay
1.test_folder内有2个excel文件(1.xlsx和2.xlsx)
- test_folder中的sub_folder,其中有2个excel文件(3.xlsx和4.xlsx)。
使用shell命令我们可以得到内容No any issues with powershell itself. everything as expected
但是当我尝试在Python中使用它时,它并没有像预期的那样工作。
Python代码。超级简单
顺便说一句,在代码运行期间test_INCORRECT_FOLDER将在powershell\terminal会话中打开
首先,结构:FILE Structure (UPDATED)
Python code and results
如你所见,我在python中使用了powershell中的相同命令。但我得到的结果完全不同
在python中,powershell扫描和过滤当前文件夹中的文件。
切除结果:通过正确的路径正确过滤Excel文件test_folder
# Run powershell
import subprocess
import os
os.system("cls")
#Test 1 -----> Static path in powershell
print(f"TEST 1 static path in powershell'\n {'*' * 90} \n RESULT:")
subprocess.run(["powershell", "-Command","Get-ChildItem C:\\test_folder -Filter *.xlsx -Recurse | % { $_.FullName }"])
print("-------------------------")
#Test 2 ----> Static path
test_folder_static = 'C:\\test_folder'
print(f"TEST 2 static path in script \n {'*' * 90} \n RESULT:")
subprocess.run(["powershell", "-Command","Get-ChildItem $test_folder_static -Filter *.xlsx -Recurse | % { $_.FullName }"])
1条答案
按热度按时间quhf5bfb1#
在第二个系统调用中,字符串插值发生在python而不是powershell中。看看this,并将最后一行代码改为: