我試圖下調一檔的前n行過一個文件,我計算n和分配一個值從MYVARIABLE子傳遞變量到子進程調用
command = "tail -n +"myvariable" test.txt >> testmod.txt"
call(command)
我已經導入呼叫。但是我在myvariable中遇到了一個語法錯誤。
我試圖下調一檔的前n行過一個文件,我計算n和分配一個值從MYVARIABLE子傳遞變量到子進程調用
command = "tail -n +"myvariable" test.txt >> testmod.txt"
call(command)
我已經導入呼叫。但是我在myvariable中遇到了一個語法錯誤。
有兩件事情錯在這裏:
你的字符串連接語法都是錯誤的;這不是有效的Python。你可能想使用這樣的:在這裏我認爲myvariable
是一個整數,而不是字符串已經
command = "tail -n " + str(myvariable) + " test.txt >> testmod.txt"
。
使用字符串格式化會在這裏更容易閱讀:
command = "tail -n {} test.txt >> testmod.txt".format(myvariable)
其中str.format()
方法將字符串版本的myvariable
爲您更換{}
。
你需要告訴subprocess.call()
通過shell運行該命令,因爲你使用>>
,僅殼功能:
call(command, shell=True)
你得到一個語法錯誤,因爲你這不是有效的Python碼。 –
你的連接應該這樣完成:'cmd =「...」+ myvar +「...」' – svvac