首先,我是新手,没有编码背景。
我正在尝试创建一个python脚本,它将创建一个可以在以后使用的xml api文件,
我有一个csv文件,其中每一行用于一个api调用。我可能有200多条这样的线。 我正在尝试一次读取一行并将xml数据打印到一个文件中,比如file-1.xml
我可以打印出没有任何问题的数据,但我找不到一种方法来重定向这个输出一个应该迭代命名的文件(例如i在范围内(1..200)或其他东西)
int inject(string lpLibraryPath)
{
HANDLE hProc;
LPVOID paramAddr;
HINSTANCE hDll;
hDll = LoadLibrary(L"KERNEL32");
fpLoadLibrary LoadLibraryAddr = (fpLoadLibrary)GetProcAddress(hDll, "LoadLibraryA");
hProc = OpenProcess(PROCESS_ALL_ACCESS, false, id);
paramAddr = VirtualAllocEx(hProc, 0, strlen(lpLibraryPath.c_str()) + 1, MEM_COMMIT, PAGE_READWRITE);
if(WriteProcessMemory(hProc, paramAddr, lpLibraryPath.c_str(), strlen(lpLibraryPath.c_str()) + 1, NULL) == NULL)
{
return 0;
}
CreateRemoteThread(hProc, 0, 0, (LPTHREAD_START_ROUTINE)LoadLibraryAddr, paramAddr, 0, 0);
CloseHandle(hProc);
return 1;
}
};
答案 0 :(得分:1)
csv.reader
类的每一行都有一个行号属性:line_num
。只需使用reader.line_num
作为文件名的一部分,如
for row in reader:
with open('file-{0}.xml'.format(reader.line_num), 'w+') as out:
xml_template = "..." # Put your xml template here
out.write(xml_template % tuple(row))
不需要花哨的额外代码。 但是,这确实假设每个请求都是单独的。
此外,对于新的格式设置指南,通常使用{0}和.format样式的字符串格式。因此,最后通过模板和%s
代替% tuple(row)
而不是{0}
,最后使用.format(tuple(row))
和public class MainActivity extends FragmentActivity {
HeadlinesFragment firstFragment;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.news_articles);
// Create a new Fragment to be placed in the activity layout
firstFragment = new HeadlinesFragment();
// Add the fragment to the 'fragment_container' FrameLayout
getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, firstFragment).commit();
}
@Override
public void onBackPressed() {
firstFragment.setData("yourString");
finish();
}
}
public class HeadlinesFragment extends Fragment {
String data;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.article_view, container, false);
}
public void setData(String yourData){
data = yourData;
}
}
。不过只是一个建议。请参阅PEP 3101。
答案 1 :(得分:0)
import csv
with open('file.csv', 'r') as f:
reader = csv.reader(f)
for i, row in enumerate(reader, start=1):
with open('file-{}.xml'.format(i), 'w+') as outfile:
outfile.write(pattern % tuple(row)) #for brevity omitted template
您只需要打开文件并write
,就像从文件中读取一样。要跟踪我们所使用的号码,我们将使用enumerate